Ich versuche, einen Weg zu finden, ein scheinbar komplexes Join-Szenario auszuführen, und bin unsicher, wie man das macht. Einige Hintergrundinformationen:Join über mehrere Tabellen - dann ein PIVOT anwenden, um die Daten anders anzuzeigen
-Ich habe eine 'ProjectCategory'-Tabelle, die einen Fremdschlüssel' ProjectID 'und' CategoryID 'für die Projekt- bzw. Kategorietabellen enthält. Einem Projekt könnten so viele zugewiesene Kategorien zugewiesen werden wie vorhanden (bis zu 10)
-Ich habe eine "Budget" -Tabelle und eine "Sponsor" -Tabelle.
-My ‚Projekt‘ Tabelle ist meiner ‚Haushalt‘ Tabelle im Zusammenhang, dass alle Projekte eine zugehörige BudgetID
-My ‚Budget‘ Tisch zu meinem ‚Sponser‘ Tisch, dass alle Haushalts eine haben verwandt zugehörige SponsorID.
-'project 'Tabelle und' Sponsor 'Tabelle sind nicht direkt verwandt.
Ein Beispiel für die Ergebnismenge, die ich zu bekommen versuche, ist erstens:
SponsorName(Field in sponsor table) - ProjectName - Category
___________________________________ ___________ ________
A ABC categoryA
A ABC categoryB
A DEF categoryX
A DEF categoryZ
dann möchte ich eine PIVOT verwenden, um die Daten zu zeigen, wie:
SponsorName - ProjectName -categoryA - categoryB -categoryC - categoryD ...
___________ ___________ _________ _________ _________ _________
A ABC X X
A DEF X X
B EFG X X
Wo die Xs Markieren Sie, welche Kategorien mit jeder Projekt-/Sponsor-Kombination verknüpft sind. Das Ausfüllen der Xs ist vielleicht etwas, das ich im Codebehind tun werde oder andere gespeicherte Prozeduren verwende, aber das ist die Grundidee dessen, was ich versuche zu tun.
Ich habe Probleme herauszufinden, wie man eine Abfrage schreibt, um den ersten Satz zurück zu bekommen, bevor ich sogar einen Drehpunkt implementiere, um ihn als zweiten Satz zu zeigen, also bin ich ein bisschen eingeschüchtert von dieser Aufgabe. Jede Hilfe sehr geschätzt, und bitte lassen Sie mich wissen, wenn Sie weitere Informationen benötigen
Interessanter Ansatz - so theoretisch, wenn Ich kann ein Dataset erhalten, das dem ersten Beispiel ähnelt, das ich gezeigt habe. Ich kann dieses gesamte Verfahren als @source-Parameter Ihres SP übergeben ? –
SQL als Parameter, ja. Die Ergebnisse einer gespeicherten Prozedur, nein. –
Wenn diese Basis sql größer oder komplexer ist, finde ich es einfacher, die Ergebnisse in einer temporären Tabelle zu speichern, nur lesbarer –