我需要從表A返回行的查詢,如果在表中的值X是不一樣的Y值的總和從表B中對應的行(S)的問題是,有可能會或可能不是表B中對應於表A中的行的行,但如果表B中沒有行,那麼表A中的行仍應返回(因爲表B中沒有匹配的值)。就像一個LEFT OUTER連接場景,但是作爲附加選擇條件的比較是非常複雜的。SQL Server的SELECT語句
我有一個查詢,則正好相反,即。如果表A中的值與表B中的行值相同,則返回行,但遺憾的是,這不是我所需要的!
SELECT TableA.id, TableA.bdate
FROM TableA
LEFT JOIN TableB ON TableB.ID = TableA.id
WHERE TableA.select_field = 408214
AND TableA.planned_volume =
(select sum(actual_volume)
from
TableB
where TableB.id = TableA.id)
ORDER BY TableA.id
任何幫助非常感謝。
你的樣品查詢只從項目屬性表A,所以我想表B只使用存在量化之中。正確? – onedaywhen 2012-03-02 15:27:01
「但是如果有表B中沒有任何行」 - 你的意思一)表B是空集(字面解釋),b)使用普通'id'屬性沒有匹配行,c)使用匹配'id'找不到匹配的行和'Y'的總和表達,d)別的東西? – onedaywhen 2012-03-02 15:28:35
回答你的第一個問題......這是正確的 - 要返回剛剛從TableA的領域,但資格TableB中是不等於planned_value場TableA上 – epx 2012-03-02 15:30:30