小编典典

子句中WHERE的MySQL问题

sql

我在mysql中的“ where in”子句中遇到问题,我无法弄清楚出了什么问题。所以我有两张桌子…

1)座位

(int)seat_id

2)寄存器

(int)register_id

(varchar)seat_ids-以逗号分隔的席位,例如102,103,104


因此,我要获取匹配结果的查询是

SELECT * FROM Seats s, Registers r 
WHERE s.seat_id IN (r.seat_ids) 
GROUP BY s.seat_id

有人可以找出问题所在吗?谢谢,


阅读 174

收藏
2021-04-14

共1个答案

小编典典

IN要求列表是文字列表,而不是逗号分隔的字符串。用途FIND_IN_SET为:

WHERE FIND_IN_SET(s.seat_id, r.seat_ids)
2021-04-14