SELECT * FROM tbl_houses
WHERE
(SELECT HousesList
FROM tbl_lists
WHERE tbl_lists.ID = '123') LIKE CONCAT('% ', tbl_houses.ID, '#')
它只从 tbl_houses
中选择 tbl_lists.HousesList
中最后出现的 tbl_houses.ID
的行
我需要它来选择 tbl_lists.HousesList
中存在来自 tbl_houses
的任何 ID 的所有行
最佳答案
如果不知道你的数据究竟是什么样子,很难说,但如果它只匹配最后一个ID,那可能是因为你在字符串末尾没有任何%
,所以以允许列表在比赛结束后继续。
关于sql - 为什么这个查询只选择一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2491970/