SQL(列出名称中包含'A'和'B'的经销商的名称。)

时间:2017-03-15 15:48:21

标签: sql oracle oracle10g

Distributor List click here

现在问题是这个 - >

列出名称中包含“A”和“B”的经销商名称

我试过了

select * from distributor where dname like '%b% a%' or dname like  '%a% b%';

select * from distributor where dname like '%a%' and dname like '%b%';

当问题说a和b字符来自此表(分销商)的任何名称时,您应该显示该名称...

现在需要一些帮助来理解这个查询?有人请...

错误是--->>

*//SQL> select * from distributor where dname like '%b% a%' or dname like  '%a% b%';

no rows selected

SQL> select * from distributor where dname like '%a' and '%b';
select * from distributor where dname like '%a' and '%b'
                                                       *
ERROR at line 1:
ORA-00920: invalid relational operator//*

2 个答案:

答案 0 :(得分:3)

不确定为什么你的工作没有这样:

select dname
from distributor
where lower(dname) like '%a%'
and lower(dname) like '%b%'

但这会让任何拥有' a' and a' b'

如果您使用or,这将使每个人都拥有一个' a'每个人都有' b'

答案 1 :(得分:2)

删除查询中第二个字母前的空格应该有效:

select * from distributor where dname like '%b%a%' or dname like '%a%b%'