我的SQL查詢子查詢返回多個值如何處理呢
select ID, ModuleID,
(SELECT ((CAmount * CPercentage)/100) FROM Table1) as Percentage
from Table1
order by ModuleID ;
它完美,如果只有一個值,但如果有一個以上的價值我得到一個錯誤。如何處理它,我希望表格中的所有金額都轉換爲相應的百分比,請大家幫忙。
我的SQL查詢子查詢返回多個值如何處理呢
select ID, ModuleID,
(SELECT ((CAmount * CPercentage)/100) FROM Table1) as Percentage
from Table1
order by ModuleID ;
它完美,如果只有一個值,但如果有一個以上的價值我得到一個錯誤。如何處理它,我希望表格中的所有金額都轉換爲相應的百分比,請大家幫忙。
可以使用
SELECT TOP 1 ((CAmount * CPercentage)/100) FROM Table1
但是,這取決於你的內涵......
或者......
select ID, ModuleID,
(SELECT ((SUM(CAmount) * SUM(CPercentage))/100) FROM Table1) as Percentage
from Table1
order by ModuleID ;
這將成功地處理多個值。
它讓我覺得有點奇怪,你的子查詢使用與主查詢相同的表。看起來您正在嘗試獲取每個模塊的百分比,因此獲取整個表的百分比可能是錯誤的結果。
除非我誤解你的意圖,我希望這是正確的查詢:
SELECT ID, ModuleID, SUM((CAmount * CPercentage)/100) AS Percentage
FROM Table1
ORDER BY ModuleID
如果要計算每條記錄的值,你並不需要一個子查詢都:
select ID, ModuleID, (CAmount * CPercentage)/100 as Percentage
from Table1
order by ModuleID
可以使用這種分裂與 「」
(SELECT DISTINCT DocumentList =東西((SELECT DISTINCT( ' '+ CCD2.document_filename +'') 從callcenter_documents CCD2
WHERE document_answerid = AnswerID 從callcenter_documents CCD1
WHERE document_answerid = AnswerID XML路徑( '')),1,2, ''))document_filename
的數據庫您使用的AS? – 2010-11-18 06:08:32
你究竟在做什麼*試圖做*?你的問題告訴我們你是如何努力去做的,但不是你想要達到的目標...... – 2010-11-18 14:21:29