Kann ich kombinieren eine PIVOT mit einer Inneren Verknüpfung in microsoft SQL server?

Habe ich die folgende SQL-Abfrage:

SELECT CountryID, [10201] AS CountryGDPPerCapita, [10677] AS LifeExpTotal
FROM
(
    SELECT CountryID,FieldID,numeric 
    FROM globaledge.dbo.DIBS_Data
    WHERE CountryID IN (3,5)
    AND FieldID IN (10201,10677)
    AND year = 2002
)  SourceTable
PIVOT
(
    MAX(numeric)
    FOR FieldID IN ([10201],[10677])
) AS PivotTable
ORDER BY PivotTable.CountryID

Diese etwas zurückgibt, das wie folgt aussieht:

CountryID CountryGDPPerCapita LifeExpTotal

3 35985.78 77.24

5 9147.7 74.54

Dann habe ich noch eine Abfrage wie folgt:

SELECT CountryName, CountryGDP, CountryGDPGrowth 
FROM globaledge.dbo.Country_Statistics 
WHERE CountryID IN (3,5) 
AND year=2002
Order By CountryName

Produziert die folgenden:

Bezeichnung CountryGDP CountryGDPGrowth

Mexiko 1567000000000000 1.3

Vereinigten Staaten 14440000000000000 0.4

Beachten Sie auch, ich habe CountryID in beiden Tabellen, die sich auf das gleiche Land. Was ich will ist das erstellen einer SQL-Abfrage, vielleicht mit einem INNER JOIN, würde Folgendes zurück:

Bezeichnung CountryGDP CountryGDPGrowth CountryGDPPerCapita LifeExpTotal

Mexiko 156700000000000000 1.3 35985.78 77.24

Vereinigten Staaten 144400000000000000 0.4 9147.7 74.54

Könnte mir jemand helfen machen diese Abfrage? oder mir sagen, ob es möglich ist?

InformationsquelleAutor adhanlon | 2010-02-19

Schreibe einen Kommentar