我正在尝试选择一行,其中C5721_USER_NAME
列未以“ccs”开头,或C5721_USER_ORIGIN
未以“ccs”开头。
如果以“ccs”开头,我不想要那个列。
这是我的问题:
SELECT *
FROM T5707_ISSUES
WHERE (C5721_USER_ORIGIN NOT LIKE '%ccs%' OR C5721_USER_NAME NOT LIKE '%ccs%')
ORDER BY C5707_ISS_ID
但我的结果是C5721_USER_NAME
:
cnewman
ctext
ccskym
lmbsiro
答案 0 :(得分:2)
您必须使用AND
SELECT *
FROM T5707_ISSUES
WHERE (C5721_USER_ORIGIN NOT LIKE 'ccs%' AND C5721_USER_NAME NOT LIKE 'ccs%')
ORDER BY C5707_ISS_ID
此外,要搜索仅starts
ccs
%
的内容,您不必在其前面添加{{1}}。
答案 1 :(得分:1)
请试试这个:
SELECT *
FROM T5707_ISSUES
WHERE (C5721_USER_ORIGIN NOT LIKE 'ccs%' and C5721_USER_NAME NOT LIKE 'ccs%')
ORDER BY C5707_ISS_ID
我已将或替换为和,因为当您使用OR时,任何具有以这些字符开头的值的列都会出现。
答案 2 :(得分:0)
如果您只希望它搜索不以该值开头的记录,则需要将查询更改为:
SELECT *
FROM T5707_ISSUES
WHERE (C5721_USER_ORIGIN NOT LIKE 'ccs%' AND C5721_USER_NAME NOT LIKE 'ccs%')
ORDER BY C5707_ISS_ID
答案 3 :(得分:0)
你错了逻辑运算符OR而不是AND
SELECT *
FROM T5707_ISSUES
WHERE (C5721_USER_ORIGIN NOT LIKE '%ccs%' and C5721_USER_NAME NOT LIKE '%ccs%')
ORDER BY C5707_ISS_ID