我有两个表COD_CLIENT
是CLIENT
表的主键。 Adress
没有主键。
表CLIENT
:
COD_CLIENT | NAME_CLIENT
表ADRESS
:
COD_CLIENT | CITY | STREET | NUMBER
我想获得所有客户端,如果地址包含客户端代码,我也想在一个查询中选择此行。
但如果没有地址,只需忽略Adress
行,但保留Client
数据。
我试过了:
SELECT c.*,e.*
FROM CLIENT c
RIGHT JOIN ADRESS e (e.COD_CLIENT = c.COD_CLIENT)
但当然它没有用。
如何实现这些结果?
答案 0 :(得分:3)
如果我理解得很好......您只需要使用左连接更改正确加入,以便SQL检索客户端表上的所有客户端及其地址。如果他们没有地址,你将在这些字段中获得NULL。
SO:
SELECT c.*,e.*
FROM CLIENT c
LEFT JOIN ADRESS e ON e.COD_CLIENT = c.COD_CLIENT
参考:http://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins
答案 1 :(得分:0)
SELECT c.*,e.*
FROM CLIENT c
LEFT JOIN ADRESS e ON e.COD_CLIENT = c.COD_CLIENT