我需要一个包含两个部分的查询。
我的意思是两个where子句。
到现在为止,我已经达到以下目的,但是它不能正常工作。
SELECT * from items
where
FIND_IN_SET( '3', category_id )
AND postcode LIKE 'sw19%'
order by id
此查询仅运行第一部分,即
FIND_IN_SET()
部分。而忽略第二部分,即邮政编码检查...我想知道是否有针对这种查询的解决方案。
细节
我想比较2列中的值:
1列是csv列,例如。 1,2,3,4,5
另一个是邮政编码B17 SW19等
表如下。
--- + ------ + ------------- + ---------- +-
id |项目| category_id |邮政编码|
--- + ------ + ------------- + ---------- +-
1 | abc | 1,2,3,4 | SW19 |
--- + ------ + ------------- + ---------- +-
2 | def | 3,4,5 | NW6 |
--- + ------ + ------------- + ---------- +-
3 | xyz | 6,7,8,9 | SW19 |
--- + ------ + ------------- + ---------- +-
4 | ghi | 8,9,10,11 | SW19 |
--- + ------ + ------------- + ---------- +-
等等
如果我要选择一个条目,其
category_id
包含'3'
并且其邮政编码从'SW'
开始,它将是什么查询? 最佳答案
我只是找到了可以完全解决我的问题的解决方案,尽管它将在将来对某人有所帮助。
好吧,查询是这样的:
Select * from table_name where FIND_IN_SET('3', category_id) >0 AND postcode LIKE 'sw%'
问候,
Shoaib。