如何修复这个MySQL子查询?

时间:2014-03-03 14:02:43

标签: mysql subquery

我的查询如下。

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)

我的第一个查询中出现了什么错误?

0 个答案:

没有答案