我得到了一张每条车道一美元的运输车道清单。问题是,有时间接路线比直接路线便宜。我希望能够找到这些实例并将它们插入一个新的表中。我试过用左外接,但我想不出来。下面是我正在寻找的内容和我尝试过的代码的示例。我不知道这是什么数据库。
(编辑)示例:来自loc的成本。0380至loc。1428年(直接)是100.00美元,从0380到1732,然后1428 (间接)是99.61美元。
Org / Dest数量
0380 \ 1428 #100.00美元
0380 \ 1732 \x{e76f}92.26美元
1732年1428美元7.35美元
INSERT INTO dbo.NewTable
SELECT T1.Org, T1.Dest, T1.Amount, T2.Org, T2.Dest, T2.Amount, T3.Org, T3.Dest, T3.Amount
FROM (( dbo.RateTable [T1]
LEFT OUTER JOIN dbo.RateTable [T2]
ON T1.Org = T2.Org)
LEFT OUTER JOIN dbo.RateTable [T3]
ON T1.Dest = T3.Dest AND T2.Dest = T3.Dest)
WHERE T1.Amount > (T2.Amount + T3.Amount);发布于 2014-04-25 15:53:17
我认为唯一需要进行的更改是在最后一个联接条件下:
SELECT T1.Org, T1.Dest, T1.Amount, T2.Org, T2.Dest, T2.Amount, T3.Org, T3.Dest, T3.Amount
FROM dbo.RateTable T1 JOIN
dbo.RateTable T2
ON T1.Org = T2.Org JOIN
dbo.RateTable T3
ON T1.Dest = T3.Dest AND T2.Dest = T3.Org
----------------------------------------^
WHERE T1.Amount > (T2.Amount + T3.Amount);请注意,我将left outer join更改为常规内部联接。where条件需要匹配。
这是假定"Org“标准的”原产地“或类似的东西。
发布于 2014-04-25 15:54:47
下面的简单选择如何?如果煅烧量是所需的计算量,是否可以将其简化。从表中选择( CalcAmount1 > CalcAmount2然后Amount1 Amount2 Amount2 END)
https://stackoverflow.com/questions/23297567
复制相似问题