Hallo zusammen,
ich habe aktuell ein sql statement problem und komme nicht weiter.
Ich habe eine Datenbankstruktur vorgegeben, die ich nicht ändern kann.
Nun muss ich mit einer View auf die Daten zugreifen.
Von der Tabellenstruktur sieht es folgendermaßen aus:
Tabelle Auftrag
ID
Bezeichnung
Typ ===> Intern / Extern
Gruppe_ID
. . . (weitere Werte)
Tabelle Gruppe
ID
. . .
Tabelle Bearbeitergruppe
ID
Gruppe_ID
BearbeiterID_Extern
BearbeiterID_Intern
Tabelle Bearbeiter
ID
Name
=========
Meine View habe ich aktuell so zusammengestellt:
select
a.bezeichnung as A_Bezeichnung,
Bextern.Name as Bearbeiter_Extern,
Bintern.Name as Bearbeiter_Intern,
BG.BearbeiterID_Extern as BearbeiterID_Ext,
BG.BearbeiterID_Intern as BearbeiterID_Int
FROM
Auftrag as A
left outer join Bearbeitergruppe as BG
on BG.Gruppe_ID = A.Gruppe_ID
left outer join Bearbeiter as Bextern
on BG.BearbeiterID_Extern = Bextern.ID
left outer join Bearbeiter as Bintern
on BG.BearbeiterID_Intern = Bintern.ID
=======
als Daten bekomme ich dann z.B. folgendes raus:
A_Bezeichnung | Bearbeiter_Extern | Bearbeiter_Intern | BearbeiterID_Ext | BearbeiterID_Int
Aufrag1 Hans Mueller Joseph Schuber 1 2
Auftrag1 Tim Schneider John Doe 3 4
Auftrag2 Hans Mueller John Doe 1 4
Auftrag3 Sepp Mair John Doe 5 4
Aufrag3 Sepp Mair Joseph Schuber 5 2
Was ich in meiner View noch nicht untergebracht habe ist die Unterscheidung des Auftragstyp.
Ich habe leider keine Ahnung wie ich es realisieren kann.
Ich möchte nämlich als Datensatz folgendes haben:
A_Bezeichnung | Bearbeiter_Extern | Bearbeiter_Intern | B_ID_Ext | B_ID_Int | A_Auftragtyp
Aufrag1 Hans Mueller Joseph Schuber 1 2 Intern
Auftrag1 Tim Schneider John Doe 3 4 Intern
Auftrag2 Hans Mueller John Doe 1 4 Intern
Auftrag3 Sepp Mair John Doe 5 4 Extern
Mit meiner View bekomme ich viele Datensätze, die exakt den gleichen Inhalt haben ausser die Kombination zwischen internen und externen Bearbeitern. Wobei dieser nur relevant ist, je nachdem welcher Auftragstyp eingetragen ist.
In diesem Beispiel ist der 2. "Auftrag3" Eintrag irrelevant, da er ebenfalls für Extern gilt, aber der Datensatz sich nur beim Internen_Bearbeiter sich unterscheidet.
Ich weiß nicht ob ich es mit meiner View realisieren kann.
Kann mir jemand bitte einen Tipp geben wie ich da weiterkommen kann.
Vielen Dank.
Gruß
ich habe aktuell ein sql statement problem und komme nicht weiter.
Ich habe eine Datenbankstruktur vorgegeben, die ich nicht ändern kann.
Nun muss ich mit einer View auf die Daten zugreifen.
Von der Tabellenstruktur sieht es folgendermaßen aus:
Tabelle Auftrag
ID
Bezeichnung
Typ ===> Intern / Extern
Gruppe_ID
. . . (weitere Werte)
Tabelle Gruppe
ID
. . .
Tabelle Bearbeitergruppe
ID
Gruppe_ID
BearbeiterID_Extern
BearbeiterID_Intern
Tabelle Bearbeiter
ID
Name
=========
Meine View habe ich aktuell so zusammengestellt:
select
a.bezeichnung as A_Bezeichnung,
Bextern.Name as Bearbeiter_Extern,
Bintern.Name as Bearbeiter_Intern,
BG.BearbeiterID_Extern as BearbeiterID_Ext,
BG.BearbeiterID_Intern as BearbeiterID_Int
FROM
Auftrag as A
left outer join Bearbeitergruppe as BG
on BG.Gruppe_ID = A.Gruppe_ID
left outer join Bearbeiter as Bextern
on BG.BearbeiterID_Extern = Bextern.ID
left outer join Bearbeiter as Bintern
on BG.BearbeiterID_Intern = Bintern.ID
=======
als Daten bekomme ich dann z.B. folgendes raus:
A_Bezeichnung | Bearbeiter_Extern | Bearbeiter_Intern | BearbeiterID_Ext | BearbeiterID_Int
Aufrag1 Hans Mueller Joseph Schuber 1 2
Auftrag1 Tim Schneider John Doe 3 4
Auftrag2 Hans Mueller John Doe 1 4
Auftrag3 Sepp Mair John Doe 5 4
Aufrag3 Sepp Mair Joseph Schuber 5 2
Was ich in meiner View noch nicht untergebracht habe ist die Unterscheidung des Auftragstyp.
Ich habe leider keine Ahnung wie ich es realisieren kann.
Ich möchte nämlich als Datensatz folgendes haben:
A_Bezeichnung | Bearbeiter_Extern | Bearbeiter_Intern | B_ID_Ext | B_ID_Int | A_Auftragtyp
Aufrag1 Hans Mueller Joseph Schuber 1 2 Intern
Auftrag1 Tim Schneider John Doe 3 4 Intern
Auftrag2 Hans Mueller John Doe 1 4 Intern
Auftrag3 Sepp Mair John Doe 5 4 Extern
Mit meiner View bekomme ich viele Datensätze, die exakt den gleichen Inhalt haben ausser die Kombination zwischen internen und externen Bearbeitern. Wobei dieser nur relevant ist, je nachdem welcher Auftragstyp eingetragen ist.
In diesem Beispiel ist der 2. "Auftrag3" Eintrag irrelevant, da er ebenfalls für Extern gilt, aber der Datensatz sich nur beim Internen_Bearbeiter sich unterscheidet.
Ich weiß nicht ob ich es mit meiner View realisieren kann.
Kann mir jemand bitte einen Tipp geben wie ich da weiterkommen kann.
Vielen Dank.
Gruß