我的查询如下。
SELECT *
FROM `vi_listings`
WHERE `list_id` IN ( SELECT REPLACE(SUBSTR(`rel_listings`,
4,
CHAR_LENGTH(`rel_listings`)
),
"}",
"") as listings
FROM `vi_list_tags`
WHERE `tag_name`="Hospitals"
)
如果我运行此查询,它只显示一个原始而不是两个。
SELECT REPLACE(SUBSTR(`rel_listings`,4,CHAR_LENGTH(`rel_listings`)),"}","") as listings
FROM `vi_list_tags`
WHERE `tag_name`="Hospitals"
上述查询返回的值如 2,1 ,并且表中都存在这两个ID。
如果我按如下方式运行查询,则会显示两行。
SELECT * FROM `vi_listings` WHERE `list_id` IN(2,1)
我的第一个查询中出现了什么错误?