选择具有两个不同条件的列连接到两个不同的表
Selecting a column with two different conditions joined on two different tables
对于下面的代码,我需要 select 来自 table #ScoreTemp
的列 [Score Value]
,但我需要 select 它作为两个不同的基于另一列 [Score]
等于一列的字符串 'Fico'
和另一列的 'Revbal'
的条件的列。当两个条件的值都存在于一个 table 中时,我不确定如何执行此操作。任何帮助,将不胜感激。谢谢!
SELECT a.CBRRequestDate AS UpdateDate
,b.[Score Value] AS Fico
,c.[Score Value] AS Revbal
,NULL AS TUGroup
,a.Vision_Practitioner_Id__c AS PID
FROM [SFOnPrem].[dbo].[Contact] a
LEFT JOIN #ScoreTemp d ON a.Id = d.Guarantor__c
LEFT JOIN #ScoreTemp b ON a.Id = b.Guarantor__c
AND b.Score = 'Fico'
LEFT JOIN #ScoreTemp c ON a.Id = c.Guarantor__c
AND c.Score = 'Revbal'
你的代码应该没问题。但是如果你有缺失值,那么使用 LEFT JOIN
:
SELECT c.CBRRequestDate AS UpdateDate,
stf.[Score Value] AS Fico,
str.[Score Value] AS Revbal,
NULL AS TUGroup,
c.Vision_Practitioner_Id__c AS PID
FROM [SFOnPrem].[dbo].[Contact] c LEFT JOIN
#ScoreTemp stf
ON a.Id = stf.Guarantor__c AND
stf.Score = 'Fico' LEFT JOIN
#ScoreTemp str
ON a.Id = str.Guarantor__c AND
str.Score = 'Revbal';
请注意,我修复了 table 别名,因此它们不再是无意义的字母,而是 table 名称的缩写。我还更改了第一列,因此它来自 contact
——在这种情况下对我来说这似乎是合乎逻辑的,但它可能不正确。
对于下面的代码,我需要 select 来自 table #ScoreTemp
的列 [Score Value]
,但我需要 select 它作为两个不同的基于另一列 [Score]
等于一列的字符串 'Fico'
和另一列的 'Revbal'
的条件的列。当两个条件的值都存在于一个 table 中时,我不确定如何执行此操作。任何帮助,将不胜感激。谢谢!
SELECT a.CBRRequestDate AS UpdateDate
,b.[Score Value] AS Fico
,c.[Score Value] AS Revbal
,NULL AS TUGroup
,a.Vision_Practitioner_Id__c AS PID
FROM [SFOnPrem].[dbo].[Contact] a
LEFT JOIN #ScoreTemp d ON a.Id = d.Guarantor__c
LEFT JOIN #ScoreTemp b ON a.Id = b.Guarantor__c
AND b.Score = 'Fico'
LEFT JOIN #ScoreTemp c ON a.Id = c.Guarantor__c
AND c.Score = 'Revbal'
你的代码应该没问题。但是如果你有缺失值,那么使用 LEFT JOIN
:
SELECT c.CBRRequestDate AS UpdateDate,
stf.[Score Value] AS Fico,
str.[Score Value] AS Revbal,
NULL AS TUGroup,
c.Vision_Practitioner_Id__c AS PID
FROM [SFOnPrem].[dbo].[Contact] c LEFT JOIN
#ScoreTemp stf
ON a.Id = stf.Guarantor__c AND
stf.Score = 'Fico' LEFT JOIN
#ScoreTemp str
ON a.Id = str.Guarantor__c AND
str.Score = 'Revbal';
请注意,我修复了 table 别名,因此它们不再是无意义的字母,而是 table 名称的缩写。我还更改了第一列,因此它来自 contact
——在这种情况下对我来说这似乎是合乎逻辑的,但它可能不正确。