我有一个问题,我必须添加额外的条件,以满足需要。
条件:如果[dd.datadefinitionvaluetext]=“pa”,那么查询应该只显示那些在[cs.clientsupporterremarks]中有值“b”的人。
我试着在内部连接中使用if语句,但是我不能正确地理解它。我必须编辑最后一个内部连接还是之前的连接?
谢谢你的建议。
代码:
SELECT
Distinct
c.CSName
,dd.DataDefinitionValueText
,cs.ClientSupporterIsPrimaryContact
,cs.ClientSupporterRemarks
,usr.UserEMail
,usr.UserName
FROM DB_Analysis a
INNER JOIN [dbo].[DB_Projects] pr ON
a.AnalysisProjectID = pr.ProjectID
AND pr.ProjectIsActive = 1
INNER JOIN DB_Clients c on
c.ClientID = pr.ProjectClientID
INNER JOIN [dbo].[DB_ClientSupporters] cs ON
cs.ClientSupporterClientID = c.ClientID
INNER JOIN [dbo].[DB_Users] usr ON
cs.ClientSupporterUserID = usr.UserID
INNER JOIN [dbo].[DB_DataDefinitions] dd ON
cs.ClientSupporterRole = dd.DataDefinitionValueID
AND dd.DataDefinitionName = 'ClientSupporterRole'
WHERE c.ClientIsActive = 1
1条答案
按热度按时间ecr0jaav1#
声明“if foo then bar”的条件表示当foo为false时,满足条件;当foo为true(或false)时,当bar为true时,满足条件,因此:
方法
对于问题中的查询,这意味着:
对于问题中的查询,您还可以向
dd
加入,而不是加入WHERE
条款,没有区别。