我试图以这样的方式创建/运行我的sql查询:sql根据第1列(USER)中的某些条件选择数据,但同时根据第2列中的某些条件排除某些数据( ADDRESS)
E.g:
SELECT ADDRESS,USER
FROM Data1.Table1
WHERE FIELD(USER,'%AMIT%','%JOHN%','%SANDEEP%','%WARNE%')
AND ORIGINATING_ADDRESS NOT LIKE 'MUMBAI','CHINA','PAKISTAN'
这是错误的。有人可以帮忙吗?
答案 0 :(得分:2)
使用NOT IN
放弃select
中的值列表。考虑到你想在完全匹配时丢弃
ORIGINATING_ADDRESS NOT IN ('MUMBAI','CHINA','PAKISTAN')
如果您想使用模式搜索并丢弃,请使用此
ORIGINATING_ADDRESS NOT LIKE '%MUMBAI%' OR
ORIGINATING_ADDRESS NOT LIKE '%CHINA%' OR
ORIGINATING_ADDRESS NOT LIKE '%PAKISTAN%'
答案 1 :(得分:0)
对于一组值,请使用NOT IN
,而不是NOT LIKE
。
答案 2 :(得分:0)
您可能会发现简单的正则表达式用于此目的:
SELECT ADDRESS,USER
FROM Data1.Table1
WHERE USER REGEXP 'AMIT|JOHN|SANDEEP|WARNE' AND
ORIGINATING_ADDRESS NOT REGEXP 'MUMBAI|CHINA|PAKISTAN';