基于一列数据合并MySQL中的2个表

时间:2018-08-14 21:24:36

标签: mysql mysql-workbench

我有2个MySQL表要合并为一个。

表预订

reservationidURL     checkin       checkout
      1.com         2017-01-01     2017-01-03
      2.com         2017-01-10     2017-01-20
      3.com         2017-02-05     2017-02-08

饭厅

reservationidURL    roomnumber
     1.com              1
     2.com             101
     3.com              7

如何合并这两个表以获得此表:

reservationidURL    checkin       checkout           roomnumber
     1.com         2017-01-01    2017-01-03              1
     2.com         2017-01-10    2017-01-20             101
     3.com         2017-02-05    2017-02-08              7

这意味着我想按原样保留第一个表,并根据reservationidURL列的数据将第二个表合并到该表中。

注意:两个表中的某些列具有相同的标题,可以吗?

2 个答案:

答案 0 :(得分:0)

联接有助于从两个或多个数据库表中检索数据。 这些表使用主键和外键相互关联。  两个表中标题相同的列将用作主键和外键。详细了解它们here。摆弄相同的here

SELECT t1.*, t2.roomnumber 
FROM Reservation t1 
INNER JOIN Room t2 ON t1.reservationidURL = t2.reservationidURL

答案 1 :(得分:0)

首先将新列添加到表中,然后执行以下操作:

UPDATE Reservation
INNER JOIN Room
    USING(reservationidURL)
SET Reservation.roomnumber = Room.roomnumber;