Abfrage aus Verknüpfungstabelle

Phips_CH

Mitglied
Hallo Zusammen

ich hab eine Tabelle, die aus 4 Spalten besteht.
ID, id_tabelle1, id_tabelle2, id_tabelle3.

id_tabelle1 beinhaltet die ID der Tabelle mit den Namen.
id_tabelle2 beinhaltet die ID der Tabelle mit dem Datum, wann ein Amt angetreten wurde.
id_tabelle3 beinhaltet die ID der Tabelle mit dem Datum, wann von einem Amt zurückgetreten wurde. (gleiche Tabelle wie id_tabelle2)

Wenn jemand ein Amt antritt gibt das einen Datensatz mit der id des Namens und bei id_tabelle2 die id des Datums, bei id-Tabelle3 steht eine "1".

Wenn jemand von einem Amt zurücktritt, gibt das einen Datensatz mit wo bei id_tabelle1 die id des Namen drin steht, bei id_tabelle2 eine "1" und bei id_tabelle3 die id des Datums.

Nun möchte ich den Datensatz, wo jemand angetreten hat und nicht zurückgetreten ist.

Ich hab es zuerst versucht mit drei Abfragen.
-> alle die das Amt angetreten haben (id_tabelle1 <> 1)

Danach eine Abfrage
-> alle die vom Amt nicht zurückgetreten sind (id_tabelle2 = 1)

wie füge ich die zwei Abfragen so zusammen das ich nur den einen Datensatz habe von der Person die aktuell das Amt ausführt.

Gruss
Phips_CH
 
Sind das MySQL-Tabellen?

Wenn ja, dann mit AND

SQL:
SELECT *
FROM my_table
WHERE
    id_tabelle2 <> 1
    AND id_tabelle3 = 1
 
Zuletzt bearbeitet von einem Moderator:
es sind mySQL-Tabellen

Das hab isch auch schon versucht. Funktioniert eben nicht.
da es einen Datensatz gibt mit für "Amt angetreten" (id_tabelle2 <>1) und einen weiteren Datensatz "Amt zurückgetreten" (id_tabelle3 <>1). Die ID in tabelle1 ist aber gleich.

Ich möchte den Datensatz wenn jemand ein Amt angetreten hat (id_tabelle2 <>1)
aber keinen weiteren Datensatz besteht mit der selben ID in id_tabelle1 und die id_tabelle3 = 1 ist.
 
Meinst Du, dass im Moment 2 Datensätze angezeigt werden? Die An- und die Abmeldung für den entsprechenden Benutzer?

Nun, ich würde Distinct i.V. mit Sort verwenden.
 
Wenn jemand ein Amt antritt, (zum Vorsitz) gibt es einen Datensatz.
wenn er vom Amt zurücktritt, gibt es einen weiteren Datensatz.
Der Unterschied zwischen den Datensätzen ist in der Spalte der id_tabelle2 und id_tabelle3

Wenn jemand ein Amt antritt, könnte der Datensatz wie folgt aussehen:


IDid_nameid_amtid_amtangetretenid_amtzurückgetreten
1125251

Wenn jemand vom Amt zurücktritt, sieht der Datensatz so aus:

IDid_nameid_amtid_amtangetretenid_amtzurückgetreten
2125128

So gibt es für jedes Amt (Vorstand eines Vereins) jeweils einen Datensatz wenn jemand ein Amt antritt und einen weiteren wenn er vom Amt zurück tritt.
wie frage ich nun den Datensatz ab, wo das Amt jemand angetreten hat, aber nie zurückgetreten ist.
 
Wiso steht dann bei id_amtzurückgetreten jetzt eine 28, und keine 25?
Steht die 28, die 25, oder die 1 für Zurücktreten?
Tut mir leid, einfache Aufgabe, aber Deine DB Logik ist mir zu seltsam...
 
in id_tabelle2 und id_tabelle3 stehen die ID's der Tabelle mit den Datum, wann emand ein Amt angetreten hat oder zurückgetreten ist. (Vereinsversammlung)

Dann wäre es schlauer, das in einen Datensatz zu packen?
Ich hab mir damals etwas dabei überlegt, wieso ich es so machen möchte, seh jetzt aber den Vorteil nicht mehr.
 
Zwei Datensätze scheinen schon sinnvoll, einen für angetreten, einen für abgetreten.
Nur die Feldlogik ist zum einen durch die verwirrende Feldbezeichnung und zum anderen durch für mich nicht nachvollziehbare Beziehungen verkomischt ;-)
Ich würde es vielleicht so machen:
IDid_nameid_amtantritt_abtrittdatum
112512013-06-01
212522013-06-06
antritt_abtritt -> 1 für angetreten, 2 für weggetreten, fertsch...

Abfrage: Zeig mir alle Datensätze wo id_name = 12 und antritt_abtritt < 2
 
Da ich das Datum öffters anwende, hab ich es in eine Tabelle geschrieben und deren ID steht dann in id_tabelle2 resp. id_tabelle3.

Angenommen:
Ich möchte die Person (id_name) vo der es einen Datensatz gibt
IDid_nameid_amtantritt_abtrittdatum
112512013-06-01

Aber keinen Datensatz existiert der den abtritt definiert?


Was ich mich gerade frage, was passiert wenn eine Person ein Amt abtritt und später wieder antritt? Lässt sich er dieser Datensatz auch wieder abfragen?

Ich möchte diese Tabelle auch als History verwenden. wer war wann in welchem Amt war.
 

Neue Beiträge

Zurück