查询:问题在哪里部分

时间:2011-09-27 19:47:22

标签: sql where

我需要写一个这样的查询:

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存储在现在处理的记录中的所有记录。

1 个答案:

答案 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”。