0

我需要一个包含两部分的查询。我的意思是两个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 | 邮编 |
---+--------+-------------+----------+-
 1 | 美国广播公司 | 1,2,3,4 | SW19 |
---+--------+-------------+----------+-
 2 | 定义 | 3,4,5 | NW6 |
---+--------+-------------+----------+-
 3 | xyz | 6,7,8,9 | SW19 |
---+--------+-------------+----------+-
 4 | 吉 | 8,9,10,11 | SW19 |
---+--------+-------------+----------+-

等等

如果我想选择一个category_id包含'3'AND 其邮政编码从 开始的条目,'SW'它将是什么查询?

4

2 回答 2

1

我刚刚找到了完全解决我的问题的解决方案,尽管它将来会对某人有所帮助。

好吧,查询是这样的:

Select * from table_name where FIND_IN_SET('3', category_id) >0 AND postcode LIKE 'sw%'

问候,绍伊布。

于 2012-04-29T16:34:39.973 回答
0

:) 只是简单的查询

SELECT * FROM tablename1 WHERE category_id LIKE '%,3,%' AND postcode LIKE 'SW%'
于 2012-04-29T08:10:23.713 回答