2016-05-26 7 views
0

私はクエリを作成するために助けが必要です:2つのテーブルのSQLサーバークエリ

私はテーブルAとテーブルBの2つのテーブルを持っています。 TableBのではテーブルAに関連する多くのレコードを持って

テーブルA:

Id Label 
1 abc 
2 def 
3 gef 

テーブルB:

Id tableA_id due_at 
1 1  2016-05-25 
2 1  2015-05-25 
3 1  2014-05-25 

私はテーブルBのすべてのレコードをチェックすることができる午前クエリを作りたいです。以下は私の現在のクエリですが、それは唯一の最後のレコードの代わりに、あなたはそのdue_at greater than '2016-05-26'

+0

このテーブルのデータでは、どのような結果になるでしょうか? – jarlh

+1

があります。条件が 'b.due_at> '2016-05-26''であるため、TableBの1行だけが – Squirrel

+1

とみなされます。テーブルAを使って何もしないと、テーブルに参加しているのはなぜですか(実際にBのIDだけを選択しています)。テーブルB – Petaflop

答えて

0

チェックをチェックしますあなたのケースでは、テーブルBにすでに存在する列a.idが不要です。

また、テーブルbのデータがb.due_at> '2016-05-26'でないため、クエリの結果は0になるはずです。すべてが< '2016-05-26'です。

0

ファーストを持って**TableB**内のレコードを持っていない情報を1として条件b.due_at > '2016-05-26'は、選択したいすべての

SELECT a.id, b.due_at 
FROM tableA a 
    LEFT JOIN tableB b ON b.tableA_id = a.id 
where (b.due_at > '2016-05-26' OR b.due_at is null) 
関連する問題