Tabellen vergleichen

blackSea

Neuer Benutzer
Beiträge
3
Lieber Forum Gemeinde,
Danke für Die Aufnahme.
hoffe ihr könnt mir, mit eurem wissen weiter helfen. Denn, ich komme seit 2 tagen nicht weiter.
Wie im Bilder zu sehen ist, möchte ich Table t mit Table a vergleichen Table t spalte sind 3 werte
eingetragen soll jeweils mit Table a spalte verglichen werden.
Benutzte Syntax Bsp2(SELECT t.Plz as tour_Plz, a.Plz as auftrag_Plz FROM toureinstellungen t Left join app_auftrag a on t.Plz LIKE 'a.plz%' GROUP BY a.Plz;). Bsp1(Select t.Plz as tour_Plz, a.Plz as auftrag_Plz FROM toureinstellungen t, app_auftrag a where t.plz = 47798 GROUP BY a.Plz;). Woll bemerkt bin kein Profi im SQL bereich also Amatör

Vorab Danke

Bsp1.png Bsp2.png
 
Zuletzt bearbeitet:
Werbung:
Da ist nicht viel zu erkennen, insbesondere keine Frage. Bitte keine Bilder, sondern konkrete Daten, Tabellendefinition, konkrete Fragen.
 
Hallo Akretschmer hatte während dessen Verbindungs Probleme daher die un Vollständigkeit. Die Bilder sollen meine Vorstellung präsentieren. L.G
 
Ist es so schwer, eine Frage zu schreiben?

Ich schreibe sie mal selber, also eine reine Vermutung, wäre das Deine Frage gewesen:
Wie kann ich alle Zeilen finden, in denen die einzelne PLZ einer der 3 PLZ der anderen Tabelle entspricht?

Antwort:
Code:
select t.plz as tour_plz, a.plz as auftrag_plz
  from toureinstellungen t
  join app_auftrag a
    on t.plz like concat('%', a.plz, '%');

Zu Deinen Beispielen:
Sie sollen ja wohl ein Lösungsvorschlag sein. Das Group By ergibt an dieser Stelle keinen Sinn, weder bei BSP 1 noch 2. Schau Dir ein Tutorial an, das Group By erklärt. Es sorgt jedenfalls nicht für magische Joins zwischen rechter und linker Tabelle oder sonst etwas in der Richtung, „bitte mach, dass passende Werte sich irgendwie finden.“

Bsp1 enthält überhaupt keinen Join der Tabellen und kann bei großen Tabellen für sehr viel Last auf der Datenbank sorgen. Normalerweise wäre die Abfrage so kaputt, dass sie gar nicht startet, unter MySQL aber vielleicht doch, mit einem unsinnigen Ergebnis.
Bsp2 war relativ nah dran, aber der Feldname, der verglichen werden soll, darf nicht in Anführungszeichen stehen, sonst wird es statischer Text. Das % Zeichen als Wildcard muss in dem Fall vorne und hinten angefügt werden, es sollen ja nicht nur PLZ gefunden werden, die in der 3 Gruppe vorne stehen.
 
Hallo dabadepdu,
hast recht hätte mir besser mühe geben sollen. bei der frage Stellung.
Somit habe ich mein ersten Erfahrung mit Forum gesammelt. Danke.
Auch für den Code.
 
Übrigens, wenn Du 3 PLZs so als Text in einem Feld speicherst und dann mittels Platzhalter-Suche / LIKE-Operator einen JOIN machst wird Dir das bei etwas größeren Datenbeständen sehr schnell krachend auf die Füße fallen. Beschäftige Dich mit Normalisierung - Du verstößt massiv dagegen.
 
Werbung:
.. wird Dir das bei etwas größeren Datenbeständen sehr schnell krachend auf die Füße fallen. Beschäftige Dich mit Normalisierung - Du verstößt massiv dagegen.

Guter Hinweis! Ich denke, solche Operationen sind schon legitim, z.B. beim Datenimport, Konsolidierung, ETL Prozesse, o.ä. ..
Sie gehören nicht in das Kerndatenmodell.
 
Zurück
Oben