Heim >Backend-Entwicklung >PHP-Tutorial >SQL语句条件查询问题

SQL语句条件查询问题

WBOY
WBOYOriginal
2016-06-23 13:20:211017Durchsuche

有关键词四个:关键词1、关键词2、关键词3、关键词4,
我要去取出数据库中一个字段中含有“关键词1”或者含有“关键词2”或者“关键词3”但是不含有“关键词4”的数据,请问SQL语句怎么写?


回复讨论(解决方案)

select * from table where (一个字段 like '%关键词1%' or 一个字段 like '%关键词2%' or 一个字段 like '%关键词3%') and 一个字段 not like '%关键词4%'

楼上正解

二楼正解。写的很棒

这么多or 可以考虑用正则了

SELECT * FROM tbl_name WHERE field REGEXP '关键词1|关键词2|关键词3'  and field NOT REGEXP '关键词4'

SELECT * FROM tbl_name WHERE field REGEXP '关键词1|关键词2|关键词3'  and field NOT REGEXP '关键词4'


学习了

SELECT * FROM tbl_name WHERE field REGEXP '关键词1|关键词2|关键词3'  and field NOT REGEXP '关键词4'



此方法会搜索出重复的数据

select * from table where (一个字段 like '%关键词1%' or 一个字段 like '%关键词2%' or 一个字段 like '%关键词3%') and 一个字段 not like '%关键词4%'



此方法会搜索出重复的数据

含有“关键词1” 或者含有“关键词2” 或者“关键词3”

你的需求就是如此,出现重复是正常的

含有“关键词1” 或者含有“关键词2” 或者“关键词3”

你的需求就是如此,出现重复是正常的



含有“关键词1” 或者含有“关键词2” 或者“关键词3”

你的需求就是如此,出现重复是正常的




我不像有重复的数据,应该怎么弄?
谢谢指点

试试distinct

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn