Ich habe eine SQL-Ansicht, ähnlich dem unten:SQL-Abfrage Server alle aus View abrufen
map_id | type_id | path
1 1 0
2 2 0
3 3 0
4 1 A>B
5 1 A>B>C
6 2 T>Z
7 2 T>Z>X
8 3 U
9 3 X>Y
10 1 D
Und eine andere Tabelle, tblRoles
role_group_id | type_id | map_id
1 1 1
2 1 4
Ich möchte eine Abfrage erstellen, das wird umfassen alle map_id
wo role_group_id
die map_id = 1
und für den Rest hat, sollte er nur die entsprechenden map_id
Also, das Abfrageergebnis sho erhalten Wie sieht das aus:
role_group_id | type_id | map_id | path
1 1 4 A>B
1 1 5 A>B>C
1 1 10 D
1 1 1 0
2 1 4 A>B
Könnte mir jemand auf die richtige Weise zeigen? Vielen Dank!
Ich konnte das Muster in Ihrem erwarteten Ergebnis nicht sehen – Sherlock
Grundsätzlich in dem tblRoles wir die Freiheit, das Hinzufügen einer einzige Zeile für type_id weicht für alle Zeilen mit dem gleichen type_id aus Sicht abgefragt werden haben wollen .. Es ist wie alles auswählen, wenn map_id = 1 und wenn map_id ist anders, wählen Sie nur die entsprechende Zeile aus Sicht – rosuandreimihai
, aber die Frage ist, warum '1 1 0' nicht im Ergebnis enthalten? Vielleicht, weil es einen Pfad von "0" hat? Es hat eine Typ-ID von 1 und Karten-ID von 1 – Sherlock