Daniel: Datensatz wird statt 1mal 5mal zurückgegeben

Beitrag lesen

Hallo Rouven,

FROM
best_offen as t1,best_ausgeliefert as t2
WHERE
t1.sendungs_id = "s-2f3f19bddb35c39" OR t2.sendungs_id = "s-2f3f19bddb35c39"
Frage:
Worüber soll denn das DBMS die beiden Tabellen zusammenführen? Man möge mich verbessern wenn ich falsch liege, aber ein
AND t1.joinspalte = t2.joinspalte (mit entsprechenden Spaltennamen)
könnte das Problem lösen. Wenn nicht, dann kann folgendes passieren:
Nehmen wir an, beide Tabellen hätten eine Spalte ID und in Tabelle 1 käme ein Mal der Wert sendungs_id vor, dieser Datensatz habe als ID eine 1. Nun sei in der zweiten Tabelle die ID 1 5 mal vorhanden, die sendungs_id nicht.
Dann geht das DBMS hin, sucht diese sendungs_id, findet die ID 1 und erinnert sich daran, dass die Tabellen noch gejoint werden müssen. Nun sagt er sich, die Spalten ID heißen gleich, da ich nix anderes gesagt bekomme joine ich einfach darüber und spontan wird der 1 Datensatz aus t1 mit den 5 Datensätzen aus t2 ergänzt (Ergebnis 5 Datensätze).

Danke erst einmal für deine Antwort, aber ich möchte nur noch dazu sagen, das der Wert sendungs_id über diese 2 tabellen unique ist und immer nur max 1x vorkommen kann, das wird schon vorher überprüft.
Ich möchte nur mittels SQL in einer Abfrage feststellen in welcher Tabelle sich dieser Datensatz befindet und gleich anschliessend auslesen. Mit den Joins und so kenne ich mich nicht so gut aus, deswegen stehe ich hier monentan etwas an.

Grüsse,
Daniel