我有这个查询
SELECT DISTINCT publishedapp
FROM tbl_name
WHERE publishedapp LIKE "%@%"
OR publishedapp LIKE "%Desk%"
OR publishedapp LIKE "%RDP%"
OR publishedapp LIKE "%CTX%\"
ORDER BY publishedapp
它返回一个列表,但我想从该列表中过滤几个条目, 我尝试过添加并发布应用程序,而不是像这样的“%ActiveH Desktop June 2013%”
SELECT DISTINCT publishedapp
FROM tbl_name
WHERE publishedapp LIKE "%@%"
OR publishedapp LIKE "%Desk%"
OR publishedapp LIKE "%RDP%"
OR publishedapp LIKE "%CTX%"
AND publishedapp NOT LIKE "%ActiveH Desktop June 2013%"
ORDER BY publishedapp
但它不会从列表中排除“ActiveH Desktop June 2013”。有什么想法如何有选择地从过滤列表中取出行吗?
从此表中
Username Client Name Date Time Published App
abim 009283-LAP 01/08/2015 19:18:40.90 Mencap@Work2-1
adetolaok 005421-DSK 01/08/2015 15:14:24.51 Mencap@Work2-1
amandawo AMANDA-FIXED-PC 01/08/2015 9:20:29.01 Mencap@Work2-1
amandawo 009759-DSK 01/08/2015 11:15:14.18 Mencap@Work2-1
AndreasR 015029-LAP 01/08/2015 16:17:08.15 Mencap@Work2-1
AnneG 009255-LAP 01/08/2015 8:36:16.91 Mencap Desktop with Acrobat
AnneG 009255-LAP 01/08/2015 10:27:40.10 Mencap Desktop with Acrobat
AnneG 009255-LAP 01/08/2015 11:32:57.52 Mencap Desktop with Acrobat
AntonyT ANTONY 01/08/2015 11:22:10.08 Mencap@Work2-1
assend XL3SS 01/08/2015 12:02:30.32 Desktop on NC-CITRIXIT01
BrianW BRIAN-HP 01/08/2015 19:00:00.02 Mencap Desktop with Office 2010
CandiceL 010198-LAP 01/08/2015 21:05:40.67 Mencap@Work2-1
carolinej 009132-LAP 01/08/2015 14:52:02.40 Mencap Desktop with Acrobat
CharlotteWi 015084-DSK 01/08/2015 16:09:17.25 Mencap@Work2-1
ChelseaS 005240-LAP 01/08/2015 11:15:11.69 Mencap@Work2-1
chrisch CHRIS-PC 01/08/2015 8:11:42.06 Powerplan
Ciaram 008615-LAP 01/08/2015 8:46:31.71 Mencap@Work2-1
ClaireTu 009588-DSK 01/08/2015 11:40:15.15 Mencap @ Work Desktop
clemmiet 008956-LAP 01/08/2015 21:17:45.47 Mencap Desktop with Office 2010
ColetteP 009363-LAP 01/08/2015 9:36:48.10 Mencap@Work2-1
danielleba 009723-DSK 01/08/2015 13:40:36.72 Mencap@Work2-1
danielleba 009723-DSK 01/08/2015 13:41:01.34 Mencap@Work2-1
danielleyo 004425-DSK 01/08/2015 19:46:38.96 Mencap @ Work Desktop
darrenp 015148-DSK 01/08/2015 12:05:03.50 Mencap@Work2-1
davidf roid37e2c5c861b3993 01/08/2015 21:43:51.36 Mencap@Work2-1
davidpar 004451-DSK 01/08/2015 8:48:57.15 Mencap@Work2-1
dawnpo 009359-LAP 01/08/2015 12:50:37.28 Thin Client Desktop
deboraho 007019-LAP 01/08/2015 15:25:38.81 Mencap@Work2-1
debradu 009410-LAP 01/08/2015 18:11:43.92 Mencap @ Work Desktop
deen 010336-LAP 01/08/2015 10:50:40.99 Mencap@Work2-1
dhumisaniM 007019-LAP 01/08/2015 8:22:30.58 Mencap@Work2-1
dianeh NICKS 01/08/2015 11:03:26.73 Mencap@Work2-1
dianeh NICKS 01/08/2015 11:05:26.17 Mencap@Work2-1
Eileenh 009786-LAP 01/08/2015 10:02:20.25 Mencap@Work2-1
Gabby 008518-LAP 01/08/2015 19:55:49.40 Mencap@Work2-1
GaliniP 005703-DSK 01/08/2015 22:19:34.59 Mencap@Work2-1
garypl 005635-DSK 01/08/2015 10:40:43.18 Mencap@Work2-1
gillt GILLSCOMPUTER 01/08/2015 21:36:55.34 Mencap@Work2-1
h2005 005359-DSK 01/08/2015 8:02:32.38 Mencap@Work2-1
h2033 009434-DSK 01/08/2015 16:43:40.31 Internet Explorer
h2033 009434-DSK 01/08/2015 22:06:46.48 Internet Explorer
h2053 009216-DSK 01/08/2015 14:31:46.27 Mencap@Work2-1
h2087 005618-RMS 01/08/2015 12:37:57.20 Internet Explorer
h3012 009723-DSK 01/08/2015 7:24:28.99 Internet Explorer
h3012 009723-DSK 01/08/2015 7:24:29.16 Internet Explorer
misactive AMSDSSMORRIS 16/07/2015 11:06:42.95 ActiveH Desktop June 2013
我想回来
Mencap@Work2-1
Mencap Desktop with Acrobat
Desktop on NC-CITRIXIT01
Mencap Desktop with Office 2010
Mencap @ Work Desktop
Thin Client Desktop
最佳答案
只需使用括号中的所有 OR 条件即可。
SELECT DISTINCT publishedapp
FROM tbl_name
WHERE (publishedapp LIKE '%@%'
OR publishedapp LIKE '%Desk%'
OR publishedapp LIKE '%RDP%'
OR publishedapp LIKE '%CTX%')
AND publishedapp NOT LIKE '%ActiveH Desktop June 2013%'
ORDER BY publishedapp
这里的问题是最后一个陈述为真,但其他条件都不为真。因此,由于“AND”,where 条件的最终结果为 false,并且不会过滤“ActiveH Desktop June 2013”。
关于mysql - SQL WHERE LIKE 或 FILTER,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32138692/