Hallo,
ich habe drei Tabellen:
T1: Projektdaten
T2: zu den Projekten gehörende Kontakte
T3: zu den Kontakten gehörende Vermerke
Der Normalfall sieht vor, dass es zu einem Projekt einen Kontakt mit einem Vermerk gibt.
Soweit, sogut...
Nun kommt es aber auch vor, dass es zu einem Projekt mehrere Kontakte mit je einem Vermerkt gibt. (Vermerk - Kontakt = 1:1)
Eine Abfrage, diese Projekte mit den entsprechenden Kontaktdaten und Vermerken anzuzeigen ist kein Problem.
Ich habe dann mehrere Zeilen zu einem Projekt, die sich in den Kontaktdaten und dem entsprechenden Vermerk unterscheiden.
Anhand des Vermerks soll nun entschieden werden, welcher Kontakt zu dem Projekt zugeordnet werden soll.
Hier gibt es zum Glück einige Zustände, die eine automatisierte Zuordnung erlauben:
mögliche Vermerke: A, B, C, D, E
Es kann sein, dass alle Vermerke zu einem Projekt die gleichen sind. In diesem Fall kann keine Automatisierung erfolgen.
Findet sich aber der Vermerk A, so ist dies niemals das richtige Kontakt. Es ist also immer der andere Vermerk.
Bsp:
Vermerk 1, Vermerk2: Zuweisung
A, A: nicht automatisierbar
A, B: B
A, C: C
A, D: D
A, E: E
B, B: nicht automatisierbar
B, C: nicht automatisierbar
B, D: nicht automatisierbar
B, E: nicht automatisierbar
C, C: nicht automatisierbar
C, D: nicht automatisierbar
C, E: nicht automatisierbar
D, D: nicht automatisierbar
D, E: nicht automatisierbar
Da die meisten Ergebnisse meist ein A haben und einen anderen Buchstaben, wäre hier eine Abfrage hilfreich, die immer den Vermerk anzeigt, der nicht A ist.
Beispiel:
Tabelle 1:
ID / Projekt/ Status
83 / Bayern1 / o (offen)
Tabelle 2:
ID / T1_ID/ Kontakt
1 / 83 / K1
2 / 83 / K2
Tabelle 3:
ID / T2_ID / Vermerk
29 / 1 / A
30 / 2 / B
Die Abfrage:
SELECT T1.ID, T1.projekt, T2.ID, T2.Kontakt, T3.Vermerk
FROM T1, T2, T3
WHERE T2.T1_ID = T1.ID
AND T1.Status = 'offen'
AND T2.ID = T3.T2_ID
ORDER BY T1.ID, T2.ID
Ergebnis meiner Abfrage:
T1_ID / Projekt / T2_ID / Kontakt / Vermerk
83 / Bayern1 / 1 / K1 / A
83 / Bayern1 / 2 / K2 / B
...
nun versuche ich eine Abfrage zu machen, die mir NUR den Treffer mit dem Eintrag B beim Vermerk anzeigt, damit ich damit einen UPDATE machen kann.
Leider bekomme ich es nicht hin.
Ich hoffe, ich habe das Problem gut beschrieben und es kann mir hier jemand hilfreiche Tips geben.
mfG,
Marco
ich habe drei Tabellen:
T1: Projektdaten
T2: zu den Projekten gehörende Kontakte
T3: zu den Kontakten gehörende Vermerke
Der Normalfall sieht vor, dass es zu einem Projekt einen Kontakt mit einem Vermerk gibt.
Soweit, sogut...
Nun kommt es aber auch vor, dass es zu einem Projekt mehrere Kontakte mit je einem Vermerkt gibt. (Vermerk - Kontakt = 1:1)
Eine Abfrage, diese Projekte mit den entsprechenden Kontaktdaten und Vermerken anzuzeigen ist kein Problem.
Ich habe dann mehrere Zeilen zu einem Projekt, die sich in den Kontaktdaten und dem entsprechenden Vermerk unterscheiden.
Anhand des Vermerks soll nun entschieden werden, welcher Kontakt zu dem Projekt zugeordnet werden soll.
Hier gibt es zum Glück einige Zustände, die eine automatisierte Zuordnung erlauben:
mögliche Vermerke: A, B, C, D, E
Es kann sein, dass alle Vermerke zu einem Projekt die gleichen sind. In diesem Fall kann keine Automatisierung erfolgen.
Findet sich aber der Vermerk A, so ist dies niemals das richtige Kontakt. Es ist also immer der andere Vermerk.
Bsp:
Vermerk 1, Vermerk2: Zuweisung
A, A: nicht automatisierbar
A, B: B
A, C: C
A, D: D
A, E: E
B, B: nicht automatisierbar
B, C: nicht automatisierbar
B, D: nicht automatisierbar
B, E: nicht automatisierbar
C, C: nicht automatisierbar
C, D: nicht automatisierbar
C, E: nicht automatisierbar
D, D: nicht automatisierbar
D, E: nicht automatisierbar
Da die meisten Ergebnisse meist ein A haben und einen anderen Buchstaben, wäre hier eine Abfrage hilfreich, die immer den Vermerk anzeigt, der nicht A ist.
Beispiel:
Tabelle 1:
ID / Projekt/ Status
83 / Bayern1 / o (offen)
Tabelle 2:
ID / T1_ID/ Kontakt
1 / 83 / K1
2 / 83 / K2
Tabelle 3:
ID / T2_ID / Vermerk
29 / 1 / A
30 / 2 / B
Die Abfrage:
SELECT T1.ID, T1.projekt, T2.ID, T2.Kontakt, T3.Vermerk
FROM T1, T2, T3
WHERE T2.T1_ID = T1.ID
AND T1.Status = 'offen'
AND T2.ID = T3.T2_ID
ORDER BY T1.ID, T2.ID
Ergebnis meiner Abfrage:
T1_ID / Projekt / T2_ID / Kontakt / Vermerk
83 / Bayern1 / 1 / K1 / A
83 / Bayern1 / 2 / K2 / B
...
nun versuche ich eine Abfrage zu machen, die mir NUR den Treffer mit dem Eintrag B beim Vermerk anzeigt, damit ich damit einen UPDATE machen kann.
Leider bekomme ich es nicht hin.
Ich hoffe, ich habe das Problem gut beschrieben und es kann mir hier jemand hilfreiche Tips geben.
mfG,
Marco
Comment