我创建了两个表电话簿和座位。当我连接两个表的数据重复时,我不这样做。
SELECT seats.busno,
seats.seats,
busbook.status,
busbook.customer,
busbook.mobile,
seats.date
FROM seats
Left JOIN busbook ON seats.busno=busbook.busno
这是我得到的输出:
busno seats status customer mobile date
91000 1 Booked ss 11 2019-12-06
91000 2 Booked ss 11 2019-12-06
91000 3 Booked ss 11 2019-12-06
91000 4 Booked ss 11 2019-12-06
91000 5 Booked ss 11 2019-12-06
91000 6 Booked ss 11 2019-12-06
91000 7 Booked ss 11 2019-12-06
91000 8 Booked ss 11 2019-12-06
91000 9 Booked ss 11 2019-12-06
91000 10 Booked ss 11 2019-12-06
座位表:
id busno seats date
1 91000 1 2019-12-06
2 91000 2 2019-12-06
3 91000 3 2019-12-06
4 91000 4 2019-12-06
5 91000 5 2019-12-06
6 91000 6 2019-12-06
7 91000 7 2019-12-06
8 91000 8 2019-12-06
9 91000 9 2019-12-06
10 91000 10 2019-12-06
11 91000 11 2019-12-06
12 91000 12 2019-12-06
电话簿表:
id busno seat status customer mobile date
2 91000 1 Booked ss 11 2019-12-06
3 91000 19 Booked dd 22 2019-12-06
答案 0 :(得分:0)
怎么样
SELECT seats.busno, seats.seats,busbook.status, busbook.customer,busbook.mobile,seats.date FROM seats
Left JOIN busbook ON seats.busno=busbook.busno
AND seats.seats = busbook.seat
我想这取决于通过seat.id或Seats.seats进行联接的确切方案
答案 1 :(得分:0)
您可以使用以下查询获取所需结果:
SELECT seats.busno,
seats.seats,
busbook.status,
busbook.customer,
busbook.mobile,
seats.date
FROM seats
JOIN busbook ON seats.busno = busbook.busno AND seats.seats = busbook.seat
答案 2 :(得分:0)
选择s.busno,s.seats,s.status, b。客户,b.mobile,s.date 从席位 s.busno = b.busno AND s.seats = b.seats上的INNER JOIN公交簿b
您的问题要求不是很明确,并且您的问题有被否决的风险。
但是为了解决您的问题。这是您最可能需要的查询。
您使用了LEFT JOIN关键字
但是LEFT JOIN关键字返回左表(表1)中的所有记录,并返回右表(表2)中的匹配记录。如果不匹配,则结果从右侧为NULL。
您要使用的是INNER JOIN关键字,选择两个表中具有匹配值的记录。
您的查询在join ON条件下也有多个错误。我已纠正它,希望这可以解决您的问题。