【发布时间】:2017-11-21 13:11:02
【问题描述】:
如何使用从SELECT 获取的字符串输入作为1,2,3,4 来满足IN 条件?
我的意思是,有这个输出:
SELECT id_list
FROM ids
where categories = 4;
id_list 是一个类似1,2,3,4 的字符串。
现在我想使用该字符串放入IN ():
SELECT category_name
FROM categories
WHERE categories IN (
SELECT id_list
FROM ids
where categories = 4
)
但这只会输出字符串第一个值的结果,在本例中为1。
我知道这不是最好的实现,但我不是设计数据库的人,我需要以这种方式进行查询。这只是一个简化的例子。
谁能告诉我如何实现我的目标?提前致谢!
【问题讨论】:
-
您能否提供一些关于 category_name 的结构以及您希望得到什么结果的信息?
-
闻起来像是将关系存储为逗号分隔值的糟糕设计?
-
我认为你需要标准化你的数据库。
-
我知道这不是最好的实现,但我不是设计数据库的人,我需要以这种方式进行查询。这只是一个简化的例子。
标签: mysql