基于id连接MySQL中的两个表

时间:2014-03-04 09:37:11

标签: php mysql sql

基本上我希望能够加入两个表,以便能够从某个用户获取id以将预订连接到用户ID。

表格就像这个“tbl_mem”

id      username       password    email  
 1       XXXXX            XXXX      XXXX

和“tbl_booking”

BookID    id    date   time  Confirmed
XXXX     XXX      XXX    XXX    XXXX

基本上我想要一张表来拥有这个

BookID   id   date   time   Confirmed
 1      XXXX    XXX    XXXX   XXXXX

此刻我有一个SQL查询

$query = mysqli_query($con,"SELECT tbl_mem.id, BookID, date, time, Confirmed
FROM tbl_mem
LEFT JOIN tbl_booking
ON tbl_mem.id=tbl_booking.id");

但老实说,我不知道我正在对网站的这一部分做什么,我将在哪里放置sql查询并且一切正确?

2 个答案:

答案 0 :(得分:0)

你的tbl_mem没问题,但是tbl_booking应该是这样的:

id   tbl_mem_id   date    confirmed
1    1            xxxx    xxxx

我使用了列日期,因为您可以将日期和时间保存在datetime类型的一列中。 BookID也是tbl_booking的id。

现在您可以这样查询:

$query = mysqli_query($con,"SELECT tbl_mem.id, tbl_booking.id as BookID, tbl_booking.date, tbl_booking.confirmed
FROM tbl_mem
LEFT JOIN tbl_booking
ON tbl_mem.id=tbl_booking.id
WHERE tbl_mem.id = 1");

编辑:将tbl_booking.id重命名为BookID以澄清结果集。

至于您要进行查询的部分,我想在您想要显示或处理数据之前的某个地方。

答案 1 :(得分:0)

现在您可以这样查询:

$query = mysqli_query($con,"SELECT tb.BookID as BookID, tm.id as id, tb.date as date, tb.time as time, tb.Confirmed as Confirmed FROM tbl_mem as tm LEFT JOIN tbl_booking as tb ON tm.id = tb.id");