首页 > 解决方案 > 如何编写 if exists 语句,该语句将根据它是否存在运行不同的选择

问题描述

我正在尝试将 sqlif exists语句转换为 SSRS 有效格式以在 CRM 上运行报告。

如果我有方法,CRM 报告不接受上传报告if exists,我无法弄清楚我可以使用什么来代替它。

IF EXISTS(select * from dbo.FC where dbo.FC.ContactID in (select dbo.AV.so_contactid from dbo.AV))
begin
    select [STATEMENT 1]
    from dbo.AV CRMAF_so_AV join
         dbo.FC c 
        on CRMAF_so_AV.so_contactid = c.ContactID;
end
else
begin
    select [STATEMENT 2]
    from dbo.AV CRMAF_so_AV join
         dbo.FA c
         on CRMAF_so_AV.so_contactid = c.AccountID;

end;

如果条件为真,我希望能够select [STATEMENT 1]运行,否则我想运行select [STATEMENT 2]

标签: sqlreporting-servicesdynamics-crm

解决方案


我已经设法通过执行 aLEFT JOIN而不是 a 来使其工作JOIN

select [STATEMENT 1 + 2 all columns needed]
from dbo.AV CRMAF_so_AV 
left join dbo.FC c on CRMAF_so_AV.so_contactid = c.ContactID;
left join dbo.FA a on CRMAF_so_AV.so_contactid = a.AccountID;

如果它是帐户或联系人,则现在运行。


推荐阅读