Rya*_*don -1 sql sql-server join left-join
我试图从连接中检索所有结果时遇到问题.我在SQL小提琴中设置了一个类似的场景,它可以工作,但在SQL Server中却没有.如果要开具发票或发货,我想为所有内容带来结果.
我在SQL-SERVER中获得的结果是
| No | Order1 | Shipdate | No | Order1 | InvDate |
|-----|--------|----------|--------|--------|----------|
| 111 | 222 | 17-01-18 | 111 | 222 | 24-01-18 |
| 222 | 333 | 18-01-18 | 222 | 333 | 24-01-18 |
Run Code Online (Sandbox Code Playgroud)
即使将连接更改为完全外部,右连接我仍然得到此结果.
我会想,如果我使用全外部它会带来所有结果,不管匹配,但它没有.
我错过了什么来给我完整的外部结果?谢谢
sql小提琴 - http://sqlfiddle.com/#!18/89943/1
这是您的查询:
SELECT S.No, s.Order1, s.Shipdate, i.No, i.Order1, i.InvDate
FROM Ship S LEFT JOIN
Invoice I
ON s.No=i.No AND s.Order1 = i.Order1
WHERE S.Person = 1;
Run Code Online (Sandbox Code Playgroud)
更改LEFT JOIN为FULL JOIN不会改变任何内容.该WHERE子句将FULL JOIN转换为a LEFT JOIN,因为该表上的非匹配行具有NULL值并使WHERE条件失败.
| 归档时间: |
|
| 查看次数: |
1090 次 |
| 最近记录: |