2011-09-27 54 views
-3

我需要寫一個這樣的查詢:查詢:問題在部分

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存儲在現在處理的記錄中。

+0

你能改正文字嗎?這是很難理解的文字:) – Karolis

+0

這段代碼沒有錯誤。但只有我改變了字段名稱,因爲你不知道我的語言。 – Arash

+4

我只能說'S Karolis

回答

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 

注:我應該使用作品的「別名」,而不是「名」。

+0

兩個表都是相同的。 TBL1 – Arash

+2

仍然 - 因爲您引用了兩次,所以它們需要別名 – Randy

+1

您可以在查詢中給它起一個名稱(示例中的innerTBL和outerTBL)。也許我錯過了一些東西,但我沒有看到問題。 – DavidEG