Запрос: проблема в разделе где - PullRequest
0 голосов
/ 27 сентября 2011

Мне нужно написать запрос следующим образом:

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

У меня проблема с S<S в разделе где в подзапросе.S<S нравится FALSE и не работает.

Первые S - это все s во всех записях в таблице, а вторая S хранится в каждой записи.

S<S: мне нужно выбрать все записи, чтобы их s был меньше, чем s, хранящийся в записи, которая сейчас обрабатывается.

1 Ответ

5 голосов
/ 27 сентября 2011

Дайте имя таблицам:

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

Примечание: я должен использовать работу "псевдоним" вместо "имя".

...