SQL服务器查询两个表

时间:2016-05-26 09:11:48

标签: sql sql-server left-join

我需要帮助才能进行查询:)

我有两个表,TableA和TableB。在表B中有许多与TableA相关的记录

表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

我想查询我能够检查TableB的每条记录的位置。下面是我当前的查询,但它只检查最后一条记录而不是全部

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)

2 个答案:

答案 0 :(得分:0)

检查条件b.due_at > '2016-05-26'的位置根据信息,您**TableB**中的记录没有due_at greater than '2016-05-26'

答案 1 :(得分:0)

首先,您要选择表B中已存在的列a.id,因此在您的情况下不需要加入。

此外,您的查询结果应为零,因为表b中的数据不具有b.due_at> ' 2016-05-26',他们都是< ' 2016年5月26日'