Mysql中的联接表数据重复
我已经创建了两个表公交手册和座位。当我连接两个数据重复的表时,我不知道为什么Mysql中的联接表数据重复,mysql,Mysql,我已经创建了两个表公交手册和座位。当我连接两个数据重复的表时,我不知道为什么 SELECT seats.busno, seats.seats, busbook.status, busbook.customer, busbook.mobile, seats.date FROM seats Left JOIN busbook ON seats.busno=busbook.busno 这是我得到的一个输出: busno
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
母线簿表:
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
怎么样
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
我想这取决于scheme到底是通过seats.id还是seats进行连接。seats您可以使用以下查询获得所需的结果:
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
选择s.busno、s.seats、s.status、, b、 客户,b.mobile,s.date 从座位上 s.busno=b.busno和s.seats=b.seats上的内部连接母线簿b 您的问题中的要求不是很清楚,您的问题有被否决的风险 但是为了解决你的问题。这是您最可能需要的查询 您已经使用了LEFT JOIN关键字 但是LEFT JOIN关键字返回左表(表1)中的所有记录,以及右表(表2)中的匹配记录。如果没有匹配项,则结果从右侧为NULL 您要使用的是internaljoin关键字选择两个表中具有匹配值的记录 此外,您的查询在连接条件中有多个错误。我已经纠正了它,希望这能解决您的问题。“数据重复我不知道为什么”您的数据中没有重复项;每一行都是独一无二的。