【发布时间】:2012-02-22 21:01:42
【问题描述】:
仅当 Table2 中存在 Table1 的 RepID 时,我才尝试使用内部连接编写查询,如果不存在则不连接 table2。使用我在下面使用的查询,如果 Table2 中不存在 repID,我不会从两个表中获取。这怎么可能?我正在使用 sql server 2005。提前谢谢!
Select * from Table1
inner join Table2 on Table1.RepID = Table2.RepID
where Table1.Date = @Date
order by Table1.Date desc
【问题讨论】:
-
你的意思是repID是否为NULL?
-
SELECT * FROM Table1应该很明显,来自Table2的任何内容都不会出现在结果中,这就引出了一个问题:你为什么认为你想加入Table2?建议:编写两个查询,每个条件一个(RepID存在于两个表中,RepID仅存在于Table1),然后将UNION放在一起,如有必要,为任何缺失值提供 DBA 认可的默认值。
标签: sql sql-server-2005