【发布时间】:2022-07-30 21:27:57
【问题描述】:
表“A”:
| id | name | category_id |
|---|---|---|
| 1 | foo | cat1 |
| 2 | bar | cat2 |
| 3 | foob | cat1 |
| 4 | booh | cat999 |
表“B”:
| id | categories |
|---|---|
| 1 | cat1, cat3 |
| 2 | cat2, cat1, cat3 |
| 3 | cat1 |
我想用A.category_id NOT IN B.categories 查找表“A”的行。如您所见,问题是“B.categories”是逗号分隔值,我不知道在这种情况下如何使用“LIKE”。
在我的示例中,我必须能够找到表“A”的第 4 行。
【问题讨论】:
-
我知道标题不太清楚,但我没有找到更好的...对不起:(
-
请阅读stackoverflow.com/questions/3653462/…,对于 where 子句,您可以使用 FIND_IN_SET
-
我强烈建议您至少将数据库设计规范化为 1NF。