Neu in SQL und eine Abfrage haben, ziehen einige Daten mit einer Anzahl von Joins über eine Reihe von Tabellen.SQL-Abfrage - eindeutig oder eindeutig?
Beispieldaten:
PERSON_NAME FUNCTION_NAME FUNCTION_ID FUNCTION_GROUP
Bob View Result 1 Editor
Bob Edit Result 4 Editor
Bob Delete Result 3 Editor
Bob Email Result 8 Editor
Mary Print Letter 45 Admin
Mary Grant Access 37 Admin
Funktionen IDs haben, und function_groups haben zahlreiche Funktionen. Ich möchte die Daten abzufragen so statt, wie es oben auf das Beispiel ähnlich zu sein scheint, würde es wie folgt aussehen:
PERSON_NAME FUNCTION_NAME FUNCTION_ID FUNCTION_GROUP
Bob View Result,Edit Result, Delete Result 1,4,3,8 Editor
Mary Print Letter,Grant Access 45,37 Admin
„Bob gehört Editor, Editor folgende Funktionen hat“, wie ein Ergebnis, anstatt der Anfangs Beispiel, wo mehrere Zeilen nach Zeilen zurückgegeben werden.
Bin ich richtig, wenn ich denke, dass die eindeutigen oder eindeutigen Schlüsselwörter mir helfen können? Danke!
EDIT: Jetzt mit Code
select staff_member.person_name, function.function_name,staff_group_function.function_id, staff_group.function_group_name
from staff_member
inner join staff_group
on staff_group.staff_group_id=staff_group_member.staff_group_id
inner join staff_group_function
on staff_group_function.staff_group_id=staff_group_member.staff_group_id
inner join function
on function.function_id=staff_group_function.function_group_name
Oder in etwa 10 Minuten, um dieses Verhalten zu implementieren in jeder Turing komplette Programmiersprache – ControlAltDel
Mit 10G. Nützlicher Link! wmsys.concat funktioniert. :) Allerdings möchte ich eigentlich nur eine Instanz von Bob, vergiss den Funktionsnamen für den Moment. Wie kann ich Bob/Mary nur einmal als Mitglied von Editor/Admin angeben? – GrumP
@GrumP: Ich vermute, dann habe ich Ihr Ziel falsch interpretiert. Versuchen Sie die Gruppierung nur nach 'person_name' und aggregieren' function_group' auf die gleiche Weise wie die anderen Felder ... –