我有这个:
$string = "battery,lighter,phone";
我有一个包含每个用户标签的表users
。
select
如何使用sql where tags = $string
和where email = '$usermail'
;
我只想检索基于user email
和user stored tags
的数据,这些数据在表格中用逗号分隔,如上面的字符串
答案 0 :(得分:0)
如果您只选择一个标签,则可以使用
select bits where tag like '%select_value' and email = 'email_value'
如果您需要挑选多个标签,则需要解析csv。这是一个更大的挑战。
答案 1 :(得分:0)
更新答案:鉴于另一个评论中列出的表格:
SELECT p.id, p.p_title, p.categoryname, u.id, u.user_email, u.my_choices
FROM users u
JOIN products p
ON FIND_IN_SET(p.categoryname, u.my_choices)
WHERE u.email = 'email_value'
MySQL具有FIND_IN_SET()功能,可能适合您的目的。在这种特殊情况下,将返回用户'my_choices'中具有'categoryname'的所有产品。
让我知道这是否适合您,
...约翰