我的数据库结构如下所示:数据库名称:products
id ptype
1 Cups
2 Shirts
3 Cups
4 Mugs
5 Fabric
6 Mat
数据库名称:类别
id category ptype
1 Clothes Pants, Shirts, Tshirts
2 Other Mugs, Cups
我想得到一个不同ptype(products表)的列表,它们还没有列在ptypeof categories表中
所以结果是
ptype
Fabric
Mat
我尝试使用下面的mysql select查询,但似乎不起作用
SELECT p.ptype, c.ptype, FIND_IN_SET(p.ptype,c.ptype) FROM products as p, categories as c WHERE FIND_IN_SET(p.ptype,c.ptype) < 1
对于products表的所有ptypes,它返回find_in_set的值为0。
1条答案
按热度按时间3qpi33ja1#
删除中逗号后的空格
categories.ptype
字段以使查询工作。find \u in \u set()将指针与逗号分隔的值列表进行比较,并将逗号后面的空格视为它搜索的字符串的一部分,因此如果搜索不包含空格的字符串,则找不到匹配项。