一次多个查询并包含条件

时间:2014-11-27 17:09:22

标签: sql sql-server

我有一个查询

select b.country, a.account_name from account a join market b on a.ACCOUNT_ID = b.ACCOUNT_ID
and account_type = 'xxx'
and b.is_value = 0
order by 1

结果如下(将产生多个具有帐户名称的国家/地区,以3个国家为例)

account type            country                 account_name
-----------------------------------------------------------------
xxx                     MALTA                   Current
yyy                     UKRAINE                 Current
zzz                     UNITED KINGDOM          Current

如果在结果中,如果MALTA和英国存在,那么我需要复制account_name并将其粘贴到Excel帐户类型和&#的Excel工作表中34; YES"作为excel的第3列

如果在结果中,如果MALTA和UNITED KINGDOM 不存在,那么我需要输入" NO"在excel的第3列

我有超过3000种帐户类型需要处理,这是我花时间完成任务的时间。

有没有办法让我可以在一次拍摄中为所有3000种帐户类型编写一个查询,这样我就可以在下面输出(每当国家在MALTA和UNITED KINGDOM时为YES,否则为NO

account_type            account_name                Status
-----------------------------------------------------------------
xxx                     Current                     YES
yyy                     Current                     YES
zzz                     Current                     NO
------------------------------------------------------------------

1 个答案:

答案 0 :(得分:0)

更改现有查询并使用CASE语句获取第3列,如下所示

select a.account_type,
a.account_name,
case when b.country = 'MALTA' or b.country = 'UNITED KINGDOM' then 'YES'
else 'NO' end as Status  
from account a join market b 
on a.ACCOUNT_ID = b.ACCOUNT_ID    
and b.is_value = 0
order by 1