1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Werte aus 2 verschiedenen Datenbanken vergleichen

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von marcohe, 17 Juni 2017.

  1. marcohe

    marcohe Benutzer

    Hallo zusammen,

    nach dem ich festgestellt habe das mein SQL Wissen stark zu wünschen übrig lässt würde ich euch bitten mir ein wenig zu Helfen.

    Ich habe 2 Datenbanken siehe beigefügtes Bild.

    Ich würde gerne zu einem Datensatz in tl_calendar_events den entsprechenden Datensatz aus mm_event_locations filtern. Es müsste also gerüft werden bei welchen Datensatz in mm_event_locations der Wert aus Spalte id = dem Wert aus der Spalte eventLocation in tl_calendar_events ist.

    d.h. SELECT ID FROM mm_event_locations ...

    Es wäre nett wenn mir hier jemand helfen könnte.
    Danke + Gruß Marco
     

    Anhänge:

  2. akretschmer

    akretschmer Datenbank-Guru

    Beschäftige Dich bitte mit Joins, die sind der Schlüssel zur Lösung Deiner Frage.
     
  3. marcohe

    marcohe Benutzer

    Hast du mir einen Link zu einem konkreten Beispiel, das auf meinen Fall zutrifft?
    Dankesehr.
     
  4. akretschmer

    akretschmer Datenbank-Guru

    Sicher, ganz konkret LMGTFY
     
  5. marcohe

    marcohe Benutzer

    Query error: Column 'id' in field list is ambiguous (SELECT id FROM mm_event_locations JOIN tl_calendar_events on mm_event_locations.id = tl_calendar_events.eventLocation)

    So sollte es eigentlich gehen. Bekomme aber trotzdem eine Fehlermeldung.
     
  6. ukulele

    ukulele Datenbank-Guru

    Du fragst ihn nur nach der Spalte id, die gibt es in deinem Ergebnis aber zweimal. Versuch es entweder mit SELECT * oder besser, liste die Spalten explizit auf, z.B. SELECT tl_calendar_events.id,mm_event_locations.id,mm_event_locations.*
     
  7. akretschmer

    akretschmer Datenbank-Guru

    zweite Variante ist deutlich zu bevorzugen.
     
  8. marcohe

    marcohe Benutzer

    SELECT mm_event_locations.id FROM mm_event_locations JOIN tl_calendar_events on mm_event_locations.id = tl_calendar_events.eventLocation

    Filtert schonmal alle Datensätze aus mm_event_locations wo die ID einen übereinstimmt mit einem Wert aus Spalte eventLocations. In dem Fall sind es 3.

    Ich gebe aber im FE nur einen Datensatz aus tl_calender_events aus, d.h. der Filter müsste nur genau einen Datensatz aus Tabelle mm_event_locations filtern.

    Kann man den Filter irgendwie auf den Wert tl_calendar_events.eventLocation der aktuellen Seite einschränken?

     
  9. ukulele

    ukulele Datenbank-Guru

    Dein Join filtert zunächst einmal gar nichts da er keine WHERE-Bedingung hat, es werden alle Ergebnisse ausgegeben. Natürlich kannst du mit WHERE Einschränkungen vornehmen, aber dann muss deine Webseite auch irgendeine Variable in den Select setzen.
     
  10. marcohe

    marcohe Benutzer

    Ok. Den Wert der Variable gebe ich ja aus.

    In dem Link Beispiel gebe ich den passenden Wert aus Spalte eventLocation zu Testzwecken aus. Ziemlich weit oben...

    d.h. Im Template ist er verfügbar und müsste in das where des sql querys oder?
     
  11. ukulele

    ukulele Datenbank-Guru

    Ja WHERE tl_calendar_events.eventLocation = %Variable%
     
Die Seite wird geladen...

Diese Seite empfehlen