mysql - SQL在where子句中用逗号分割列

标签 mysql sql select where-clause where-in

我试图显示记录具有多个类别的位置,尽管我的查询似乎只显示第一个实例。我需要查询为出现在的每个类别多次显示域

我的SQL语句是

SELECT domains.*, category.* 
FROM domains,category 
WHERE category.id IN (domains.category_id)

这给了我以下结果

enter image description here

最佳答案

不应将数值存储在字符串中。坏主意,坏主意。您应该使用正确的联结表和正确的 SQL 结构。

有时,我们会被其他人糟糕的设计决策所困扰。 MySQL 提供了 find_in_set() 来帮助解决这种情况:

where find_in_set(category.id, domains.category_id) > 0

关于mysql - SQL在where子句中用逗号分割列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31674156/

相关文章:

php - SQL 左连接只返回一行而不是多行

c# - Nhibernate - 方言不支持 DbType.Double

c# - Mono 中的 SqlClient

javascript - 检查是否选择了多选索引时出现 SCRIPT ERROR 70 IE11

sql - 从一个表中选择,插入到另一个表中oracle sql query

javascript - 不设计延迟加载的 div

mysql - 查询 JOIN 与否? (优化)

mysql - 我怎样才能加入这两个复杂的查询?

sql - Postgres : Joining twice on a table

sql - 查找所有子项完全匹配的父项 ID