Nie*_*els 2 mysql sql sql-like
在表格中,tags我有了这个领域id.在表中,tastings我有一个字段tags,例如,用逗号分隔的id号列表2,4,5.数据库是MySQL.
现在我想计算每个标签总共使用了多少次.但我被LIKE部分困住了.我尝试了以下方法,都给出了语法错误:
SELECT tags.id, tag, FROM tags, tastings WHERE tags LIKE tags.id + '%'
SELECT tags.id, tag, FROM tags, tastings WHERE tags LIKE tags.id & '%'
SELECT tags.id, tag, FROM tags, tastings WHERE tags LIKE CONCAT(tags.id, '%')
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
如果您发布错误我会帮助您,但在选择列表后面有一个额外的逗号.此外,您可能需要限定tags,因为它既是表格又是列.
试试这个:
SELECT tags.id, tag
FROM tags, tastings
WHERE tastings.tags LIKE CONCAT('%', tags.id, '%')
Run Code Online (Sandbox Code Playgroud)
或更好,使用新的连接语法:
SELECT tags.id, tag
FROM tags
JOIN tastings on tastings.tags LIKE CONCAT('%', tags.id, '%')
Run Code Online (Sandbox Code Playgroud)
请注意tag.id的夹层,以便在%其中的任何位置找到id.
警告:4当标记为13,14,15(有一个4输入14)时,此连接将达到id ,因此除非您的ID都小于10,否则您需要重新考虑您的连接条件.
| 归档时间: |
|
| 查看次数: |
3191 次 |
| 最近记录: |