我需要写一个这样的查询:
SELECT S , D1 , D2 , (D1+D2) as D_Sum , ( (D1+D2) /
(X-(
SELECT SUM(T1+T2)
FROM TBL1
WHERE FCode=81 AND DCode=1 AND S<S
)) AS SSS
FROM TBL1
WHERE Salon=1 AND FCode=81 AND DCode=1
我在子查询的where部分中遇到S<S
的问题。 S<S
喜欢FALSE并且不起作用。
第一个S是表中所有记录中的所有s,第二个S存储在每个记录中。
S<S
:我需要选择他们的s小于s存储在现在处理的记录中的所有记录。
答案 0 :(得分:5)
为表格命名:
SELECT S , D1 , D1 , (D1+D2) as D_Sum , ( (D1+D2) /
(X-(
SELECT SUM(innerTBL.T1+innerTBL.T2)
FROM TBL1 innerTBL
WHERE innerTBL.FCode=81 AND innerTBL.DCode=1 AND outerTBL.S<innerTBL.S
)) AS SSS
FROM TBL1 outerTBL
WHERE Salon=1 AND FCode=81 AND DCode=1
注意:我应该使用“alias”而不是“name”。