MYSQL select语句条件
查询: 描述用户MYSQL select语句条件,sql,mysql,query-optimization,Sql,Mysql,Query Optimization,查询: 描述用户 SELECT u.deviceID, u.userName, u.contactNo, u.rating FROM User u INNER JOIN TaxiQuery t ON u.deviceID = t.seat1 OR u.deviceID = t.seat2 OR u.deviceID = t.seat3 OR u.d
SELECT u.deviceID, u.userName, u.contactNo, u.rating
FROM User u
INNER JOIN TaxiQuery t ON u.deviceID = t.seat1
OR u.deviceID = t.seat2
OR u.deviceID = t.seat3
OR u.deviceID = t.seat4
WHERE t.queryID = 3;
+--------------------------------------+----------+-----------+--------+
| deviceID | userName | contactNo | rating |
+--------------------------------------+----------+-----------+--------+
| 00000000-0000-1000-8000-0016CB8B3C8E | uuuuuu | 55555 | 5 |
+--------------------------------------+----------+-----------+--------+
mysql>描述查询
+-----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+-------+
| deviceID | varchar(100) | NO | PRI | NULL | |
| userName | varchar(100) | YES | | NULL | |
| contactNo | int(11) | YES | | NULL | |
| emailAddr | varchar(100) | YES | | NULL | |
| rating | int(11) | YES | | NULL | |
+-----------+--------------+------+-----+---------+-------+
我想要的是在TaxiQuery中显示用户信息(如果存在于seat1/seat2/seat3/seat4中)。但是当它们被假定为三个时,我只能输出一个结果
当seat1、seat2、seat3、seat4包含用户的设备ID时,当seat1-4是用户表的设备ID的外键时,我可以知道如何修改mysql语句来显示用户的信息吗?据我所知,如果不进行内部联接,它应该可以工作。我认为internal关键字告诉mySQL,每个源最多只包含一次,因此当您实际需要每个座位最多四个源时,它将只使用一个TaxiQuery副本。Related:如果您使用DISTINCT或定义GROUP BY子句,则内部联接将起作用。否则,您需要使用相关子查询。。。
+--------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+----------------+
| queryID | int(11) | NO | PRI | NULL | auto_increment |
| destination | varchar(100) | YES | | NULL | |
| deptTime | varchar(100) | YES | | NULL | |
| startingPt | varchar(100) | YES | | NULL | |
| boardingPass | varchar(100) | YES | | NULL | |
| miscInfo | varchar(100) | YES | | NULL | |
| seat1 | varchar(100) | YES | | NULL | |
| seat2 | varchar(100) | YES | | NULL | |
| seat3 | varchar(100) | YES | | NULL | |
| seat4 | varchar(100) | YES | | NULL | |
+--------------+--------------+------+-----+---------+----------------+