1つのクエリで苦労しています。SQL Serverの相対テーブルのすべてのレコードを確認する方法
私は3つのテーブル 偏差を持っている:複数の対策 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の両方を取得しています、私は間違っているところ私はあなたの問題が何であるかを理解していない
おかげ
サム適切なデータと望ましい結果が役立ちます。 –
サンプルデータを提供してください。 Please – Noman
あなたが推測できる有用な情報を私たちに提供していないので。たとえば、Measure_sourcesを持つテーブルDevationsを結合し、joinするテーブルmeasure_sourcesのキーをelement_idといいます。それが正しいと確信していますか?私は、テーブルmeasure_sourcesのテーブルにあるdeviationIDというフィールドに – GuidoG