Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql中的联接表数据重复_Mysql - Fatal编程技术网

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关键字选择两个表中具有匹配值的记录

此外,您的查询在连接条件中有多个错误。我已经纠正了它,希望这能解决您的问题。

“数据重复我不知道为什么”您的数据中没有重复项;每一行都是独一无二的。