我对Oracle SQL相对较新,并且遇到了一个问题,我试图过滤报告以仅通过用户名的特定列表记录的返回记录。
他们当前存储在fields user.first_name和user.surname中的系统中。
CAST(USER.FIRST_NAME||' '||USER.SURNAME as VARCHAR (25)) as CUSTOMER
我现在想做的是限制它,以便我的查询只能返回客户在预定的列表中的记录,我可以将我可以将其硬核纳入SQL中。例如,我只想查看以下记录:Joe Bloggs,约翰·多伊,nother
我该如何在Oracle SQL?
中执行此操作谢谢
一个选项(正如您所说的那样,它是
select *
from your_table
where customer in ('Joe Bloggs', 'John Doe', 'A Nother');
更好的是将这些客户存储到一个单独的表中,并与your_table一起加入:
insert into separate_table (name) values ('Joe Bloggs'); -- do the same for the rest
select *
from your_table y join separate_table s on s.name = y.first_name ||' '||i.surname;
更好的是,使用他们的ID(因为可以有两个约翰·杜(John Doe)的人;您会接受哪一个)?
insert into separate_table (id) values (1123); -- this is Joe Bloggs
select *
from your_table y join separate_table s on s.id = y.id;