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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Etwas wie dies funktionieren würde:
InformationsquelleAutor Peter Radocchia