我需要从表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