左右联合sql

时间:2016-08-08 04:14:50

标签: mysql sql

我试图将我的头围绕左右连接的联合,但我似乎无法做到这一点,因为表格中有不同的值:

Table1  
table1ID, clientNo, clientName, ClientCity  
Table2  
table2ID, RoomNo, clientNo, DateTo, DateFrom

我需要做的是加入2以获得以下值:
clientName,clientCity,roomNo,dateFrom,DateTo

我已尝试过多种方法来执行此操作,因为table1中只有2个字段,所以我始终会收到错误,并且它不会接受NULL作为选择字段。 非常感谢:)

由于

罗布

2 个答案:

答案 0 :(得分:2)

我看到两个表中都有clientNo,因此您必须加入该字段。

SELECT t1.clientMame,
       t1.clientCity,
       t2.roomNo,
       t2.dateFrom,
       t2.dateTo
FROM Table1 t1
INNER JOIN Table t2
    ON t1.clientNo = t2.clientNo

如果您想要显示没有房间的客户使用LEFT JOIN,INNER JOIN将只为您带来两个表中的行。

这是一张很好的图片,用于说明SQL中的连接:

illustration of joins

答案 1 :(得分:0)

试试这个

myTemplate

如果要进行联合,则必须具有相同的列数,否则必须声明并将字段值设为空或null, 您应该在两个表的选择查询中设置相同的列顺序