我正在努力处理一个查询。如何检查sql server中的相关表中的每条记录
我有三个表 不同之处:可以有一个以上的措施 measure_sources:偏差的关系表和测量 措施
在这里,我要核对一下就有关偏差 due_at>的currentdate一切措施:应可见 due_at <的currentdate:未示出
偏差表
id name
1 abc
2 def
个
措施源表
id element_id measure_id
1 1 1
2 1 2
3 1 3
4 2 1
5 2 2
措施表
id due_at
1 2015-10-14
2 2015-12-30
3 2016-11-30
预期的结果
id
2
目前我使用下面的查询,但我得到的是不应该来的偏差
SELECT d.id FROM deviations d
LEFT JOIN measure_sources ms ON ms.element_id = d.id
LEFT JOIN measures m ON ms.measure_id = m.id
WHERE (m.due_at > '2016-08-15' OR m.due_at is null)
但目前我得到1和2都为结果 请建议我在哪里错了
感谢
Sam数据和期望的结果将有所帮助。 –
请提供您的样品数据。请 – Noman
既然你不提供有用的信息,我们只能猜测。例如,您使用Measure_sources连接表Devations,并且您加入的表measure_sources中的键称为element_id。你确定这是正确的吗?我期望表measure_sources中的一个名为deviationID的域以 – GuidoG