sql - 如何编写 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]
解决方案
我已经设法通过执行 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;
如果它是帐户或联系人,则现在运行。
推荐阅读
- java - 如何链接两个数组,以便我能够从另一个数组中获取要使用的值?
- mysql - 在 codeigniter 中编写这个 mysql 查询
- c++ - 初始化 const boost multi_array
- java - 具有 MultiPartFile 属性的 Restful POST API DTO 的 Spring 启动测试
- python - 是否可以在 dask 中批量处理 csv 的行?
- html - 在没有实际定义危险的情况下使用自定义元素吗?
- php - Wordpress 媒体上传阻止来自 uploads.php 的文件类型,但不是 media-upload.php
- c# - 将未经身份验证的页面添加到启用 AAD 的 AppService
- testing - 在 TechTalk SpecFlow 中,我如何放弃一个场景?
- arrays - 在 Swift 5 中搜索多个单词忽略顺序