可能重复:
Searching a column containing CSV data in a MySQL table for existence of input values
MySQL query finding values in a comma separated string
我有两张桌子。一个表包含标签,另一个表包括在逗号分隔的字符串中具有标签的帖子。我需要获取具有特定标记ID的所有帖子。
我尝试了这个,但它不起作用:
SELECT
ab_tags.id,
ab_tags.lang,
ab_tags.tag,
ab_tags.slug,
ab_etkinlik.title,
ab_etkinlik.tag
FROM
ab_tags ,
ab_etkinlik
WHERE
ab_tags.id = 2
ab_tags.id IN (ab_etkinlik.tag)
ab_tags.id来自$_get val
ab_etkinlik.tag是一个像“2,4,8,20,48”
提前感谢。
答案 0 :(得分:2)
如果您自己设计了这个模式,那么您就错过了链接表的概念。如果你有名为'tags'和'events'(etkinlik)的表,你应该有一个两列'eventtags'链表,每个事件都有0到多行。第一列是事件ID,第二列标记ID。
答案 1 :(得分:1)
试试这个:
SELECT ab_tags.id,
ab_tags.lang,
ab_tags.tag,
ab_tags.slug,
ab_etkinlik.title,
ab_etkinlik.tag
FROM ab_etkinlik
JOIN ab_tags ON ab_tags.tag IN(ab_etkinlik.tag)
WHERE ab_tags.id = 2