使用Left outer Join从多个表中引入数据

时间:2014-10-06 15:18:04

标签: sql join

我有4张桌子,A,B,C,D。

存储我的客户ID,B,C D存储客户的各种详细信息。 对于Eg。 B商店教育,C商店职业,D商店利益。

现在客户可能没有进入C,D或者它可能有B和D但不能进入C.

我希望通过联合所有四个表来选择所有信息。 Customer_id存在于所有四个表中。内部联接显然不起作用。

我在考虑左外连接。有人可以帮我解决这个问题。

2 个答案:

答案 0 :(得分:0)

LEFT OUTER JOIN只会得到列A:B匹配或B:C匹配的行,如果你想保留表C中某些行的值,D为空白你可以先做一个 左外连接A和B,然后用C和D进行完全外连接,这样你就可以保留C和D中的所有数据,如果有或没有值

我在想这样的事情:

 SELECT a.store, b.education, d.storeinterest FROM 

 (
 SELECT * FROM A
 LEFT OUTER JOIN B
 ON A = B
 ) A

 FULL OUTER JOIN  C
  ON  A = C 

 FULL OUTER JOIN D
  ON A= D

答案 1 :(得分:0)

这些方面应该让你开始:

SELECT a.*, b.*, c.*, d.*
FROM a LEFT OUTER JOIN b on
a.customer_id = b.customer_id LEFT OUTER JOIN  c
on a.customer_id  = c.customer_id LEFT OUTER JOIN d
on a.customer_id = d.customer_id