0

我严重患有脑死亡,因为我过去曾多次成功地做到这一点。

这一次,它不起作用。

我有 2 个表,tableA 和 tableB

表A有所有的surmons记录

表 B 有一些但不是所有的 surmons。

它们之间的共同键是surmonId。

要求是显示表 B 中的表 A 和表 B 之间存在匹配但同时显示表 A 中的所有 surmon。

换句话说,从 tableB 中给我任何存在的记录以及 tableA 上的所有记录。

下面的左连接查询只给我存在于表 B 中的记录。

Select distinct l.surmons from tableB b left join tableA a on b.surmonId = a.surmonId.

tableB 上只有 10 个 surmons,这就是我得到的全部。

我在哪里搞砸了?

非常感谢提前

4

2 回答 2

3

切换表的顺序:

SELECT DISTINCT a.surmons 
FROM tableA a 
LEFT JOIN tableB b 
   ON a.surmonId = b.surmonId 

或者使用我最喜欢的RIGHT JOIN

SELECT DISTINCT a.surmons 
FROM tableB b 
RIGHT JOIN tableA a 
   ON b.surmonId = a.surmonId
于 2013-07-08T20:06:59.187 回答
1

如果您想要 tableA 中的所有内容,则需要从 tableA 到 tableB 进行左连接。

Select distinct a.surmons from tableA a left join tableB b on a.surmonId = b.surmonId
于 2013-07-08T20:06:44.890 回答