Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

gefilterte Tabellen kombinieren

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von Troix, 29 April 2017.

  1. Troix

    Troix Benutzer

    Hallo

    Ich habe hier zwei Tabellen:

    - Erste Tabelle:
    select id, beschreibung
    from extrawunsch;

    - Zweite Tabelle:
    select buchung.id, anzahl_personen, datum_anreise, datum_abreise
    from buchung
    join
    person
    on person.id = buchung.id;

    Nun möchte ich diese beiden kombinieren, also wenn die id aus der ersten Tabelle mit der id aus der zweiten Tabelle übereinstimmt.
    Wie könnte ich das machen?

    Thx,
    Troix
     
  2. akretschmer

    akretschmer Datenbank-Guru

    deine zweite Tabelle ist ja schon ein JOIN, und so bekommst auch die andere Tabelle dazu - wenn ich Dich richtig verstanden habe.
     
  3. Troix

    Troix Benutzer

    Genau und wie könnte ich dies mit einem Join verbinden?
     
  4. akretschmer

    akretschmer Datenbank-Guru

    ergänze das zweite select um ' left join extrawunsch e on buchung.id=e.id' und im select-Teil noch die Spalten von e
     
  5. Troix

    Troix Benutzer

    Könntest du mir das mal schnell notieren?
     
  6. akretschmer

    akretschmer Datenbank-Guru

    ähm. wie sind denn die Tabellen (logisch) miteinander verknüpft? Hat die erste Tabelle einen Foreign Key von einer der anderen Tabellen? Falls nein: das wird nix...
     
  7. Troix

    Troix Benutzer

    Nein die hat kein foreign key
     
  8. akretschmer

    akretschmer Datenbank-Guru

    Aha. Dann willst Du also Äpfel mit Schuhsohlen vergleichen. Oder wie soll eine Zuordnung erfolgen? Magisches Einhornpulver?
     
  9. Troix

    Troix Benutzer

    Ha! :D

    Nun es sollte so sein, dass wenn die id aus der ersten Tabelle mit der id aus der zweiten Tabelle übereinstimmt, dann sollen die Spaltenwerte aus der ersten Tabelle und die Spaltenwerte aus der zweiten Tabelle verknüpft werden.
     
  10. akretschmer

    akretschmer Datenbank-Guru

    dann hatte ich das ja doch schon richtig erraten, du hast also schon die Lösung.

    Merke Dir: es ist besser, Abhängigkeiten zwischen Tabellen auch beim Design dieser zu definieren. Dafür gibt es Foreign Keys. Das stellt relationale Konsistenz sicher. Selbst MySQL kann dies schon seit ein paar Jahren. Wenigstens etwas.
     
  11. Troix

    Troix Benutzer

    Ja das ist gut so, die Lösung schon, aber nicht in MySQL....
     
  12. akretschmer

    akretschmer Datenbank-Guru

    Whot?
     
  13. Troix

    Troix Benutzer

    Also als Text habe ich die Lösung, aber nicht in mysql.
    Könntest du mir helfen die erste und zweite Tabelle zu verknüpfen?
     
  14. akretschmer

    akretschmer Datenbank-Guru

    Was genau an "ergänze das zweite select um ' left join extrawunsch e on buchung.id=e.id' und im select-Teil noch die Spalten von e" hast Du nicht verstanden?
     
  15. Troix

    Troix Benutzer

    der zweite Teil

     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden