2016-03-20 5 views
-1

Hier ist, was ich geschrieben habe. Ich möchte ein Feld anpassen, um nur die richtigen 4 Zeichen im Kontext einer Join-Abfrage anzuzeigen (zB a. [Plant] = b. . rechts ([Location_Code], 4)), aber es funktioniert nicht ich muss dies für die tun, um beitreten arbeiten Bitte helfen (lassen Sie mich wissen, wenn Sie weitere Informationen benötigen.):Verwenden von Right (Befehl in einem Join: SQL

SELECT [Plant] 
,right([Location_Code],4) as DoorID 
     ,[dtmMonthEnd] 
     ,[DealerTIN] 
     ,sum([Total_Acts]) as Activations 

    FROM [ExternalDataSources].[dbo].[Nelson_tblActivation_Activity] a 
    join [Commissions].[dbo].[vw_MonthlyEarnedCommission_Location] b 
    on a.[Plant]=b.right([Location_Code],4) 
    where [dtmMonthEnd] = '1/31/2016' 
    group by 
[Plant] 
     ,[dtmMonthEnd] 
     ,[DealerTIN] 
order by 4 asc 

Antwort

1

die volle qualifizierter Spaltenname ist das Argument auf die right() Funktion:

SELECT [Plant], right([Location_Code], 4) as DoorID 
     [dtmMonthEnd], [DealerTIN], sum([Total_Acts]) as Activations 
FROM [ExternalDataSources].[dbo].[Nelson_tblActivation_Activity] a JOIN 
    [Commissions].[dbo].[vw_MonthlyEarnedCommission_Location] b 
     on a.[Plant] = right(b.[Location_Code], 4) 
WHERE [dtmMonthEnd] = '2016-01-31' 
GROUP BY [Plant], [dtmMonthEnd], [DealerTIN], right([Location_Code], 4) 
ORDER BY DealerTIN asc; 

Hinweise:

  • Verwenden Sie ISO-Standard-Datumsformate (z. B. JJJJMMTT oder JJJJ-MM-TT).
  • Die Verwendung von Spaltennummern für ORDER BY wird auslaufen. Sie können den Spaltenalias verwenden.
+0

funktioniert wunderbar danke! Ich musste lediglich das Feld "right (b. [Location_Code], 4)" in die Group By-Klausel einfügen. DANKE !!!! –

Verwandte Themen