[GastForen Programmierung/Entwicklung PHP und MySQL Abfrage aus Verknüpfungstabelle

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Abfrage aus Verknüpfungstabelle

Phips_CH
Beiträge gesamt: 74

3. Jun 2013, 21:41
Beitrag # 1 von 5
Bewertung:
(5024 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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
X

Abfrage aus Verknüpfungstabelle

Phips_CH
Beiträge gesamt: 74

20. Jun 2013, 20:52
Beitrag # 2 von 5
Beitrag ID: #514069
Bewertung:
(4940 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich hab meine mySQL-Tabelle so angepasste, dass ich eine Spalte habe, wo ich den Status reinschreibe. 1 für Amt angetreten und 2 für Amt zurückgetreten.

nun mach ich zwei Abfragen:
Code
SELECT *  
FROM Tabelle
WHERE Spalte_Amt= 5 AND Spalte_Amt_angetreten = 2


und dann:
Code
SELECT *  
FROM Tabelle
WHERE Spalte_Amt= 5 AND Spalte_Amt_angetreten = 1 AND Spalte_IDname <> colname


zuerst erfahre ich wer vom Amt je zurückgetreten ist.

in der zweiten Abfrage möchte ich herausfinden wer das Amt angetreten ist und welcher Name nie zurückgetreten ist.

aber ich erhalte immer das falsche Resultat. was mach ich falsch?


als Antwort auf: [#513350]

Abfrage aus Verknüpfungstabelle

flobaer
Beiträge gesamt: 317

3. Jul 2013, 11:03
Beitrag # 3 von 5
Beitrag ID: #514562
Bewertung:
(4882 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Phips,

um Deine Frage beantworten zu können, fehlt mir hier noch ein wenig der Überblick über das, was Du hier eigentlich erreichen willst. Mir ist zum Beispiel überhaupt nicht klar, warum Du nicht mit zwei Tabellen "Personen" und "Amtszeiten" auskommst.

Wenn Du Dir aber sicher bist, dass Dein Datenbankmodell richtig und sinnvoll ist, müsstest Du hier noch ein wenig mehr Informationen fallen lassen, damit Dir geholfen werden kann.

Viele Grüße
Florian


als Antwort auf: [#514069]

Abfrage aus Verknüpfungstabelle

Phips_CH
Beiträge gesamt: 74

3. Jul 2013, 13:37
Beitrag # 4 von 5
Beitrag ID: #514572
Bewertung:
(4863 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo

Ich möchte mit meiner Tabelle einen Datensatz erstellen wenn jemand ein Amt antritt, und einen derjenige vom Amt zurücktritt. So hab ich für später eine History.

In meiner Tabelle steht die ID, die ID aus der Tabelle „Amt“, die ID aus der Tabelle „Name“, de ID aus der Tabelle mit den Jahreszahlen, „angetreten/zurückgetreten“ (da steht „1“ für angetreten und „2“ für zurückgetreten)

Nun möchte ich für meine Seite zum Beispiel abfragen, wer ist aktuell Präsident. Es gibt mehrere Datensätze die beim Amt die ID des Präsidenten haben, und es gibt auch mehrere die vom Amt zurückgetreten sind. Aber es gibt einen Datensatz mehr bei dem bei angetreten/zurückgetreten eine 1 hat. Denn jemand hat das Amt angetreten und ist nicht zurückgetreten. Da ich die Tabelle als History verwenden möchte und später evt. einmal mit weiteren Ereignissen erweitern möchte, sehe ich es als sinnvoll für jedes Ereignis einen Datensatz zu generieren.


als Antwort auf: [#514562]

Abfrage aus Verknüpfungstabelle

MurphysLaw
Beiträge gesamt: 588

8. Jul 2013, 16:21
Beitrag # 5 von 5
Beitrag ID: #514750
Bewertung:
(4822 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wie wär's denn ganz simpel mit (Pseudo-SQL):
Code
SELECT TOP 1 FROM Tabelle WHERE Amt=Präsi ORDER BY datum_angetreten DESC 


Wer's zuletzt angetreten hat, sollte eigentlich der aktive sein, oder?
;-)


als Antwort auf: [#514572]
(Dieser Beitrag wurde von MurphysLaw am 8. Jul 2013, 16:21 geändert)
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
14.05.2024

Online
Dienstag, 14. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Prozessoptimierung ist ein Teamsport! Keine Software und keine Maschine allein kann Ihnen helfen, die Effizienzpotenziale Ihres Betriebes maximal auszuschöpfen. Von der Auftragsannahme über die Vorstufe und den Druck bis hin zur Weiterverarbeitung – alles muss optimal ineinandergreifen. Apropos Weiterverarbeitung – in vielen Druckbetrieben fristet sie in Sachen Prozessoptimierung immer noch ein Schattendasein. Dabei liegen hier mittlerweile die größten Einsparpotenziale! In einem Webinar von Horizon und Impressed erfahren Sie, wie Sie diese Einsparungen realisieren können. Horizon, bekannt für innovative Lösungen in der Druckweiterverarbeitung, bietet mit iCE LiNK eine Workflowlösung für die Weiterverarbeitung. iCE LiNK überwacht, visualisiert und analysiert Produktionsabläufe und unterstützt bei der Wartung – damit immer alles reibungslos läuft. Den gleichen Anspruch hat der von Impressed entwickelte Impressed Workflow Server – er ist die smarte PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt. Im Webinar zeigen Ihnen die Experten von Horizon und Impressed, wie beide Lösungen im Team die Effizienz und Produktivität Ihres Betriebes steigern können. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Horizon

https://www.impressed.de/schulung.php?c=sDetail&sid=327

Einsparpotenziale in der Weiterverarbeitung
Veranstaltungen
16.05.2024

Online
Donnerstag, 16. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Nein

Organisator: Impressed / Günther Business Solutions

https://www.impressed.de/schulung.php?c=sDetail&sid=326

Und es geht doch: Automatisierung im Großformatdruck!