Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Select über 2 Tabellen

Hi, ich möchte eine Abfrage über 2 Tabellen machen. Dabei sollen mir alle Datensätze aus beiden Tabellen angezeigt werden, die einem bestimmtes Suchmuster entsprechen. Es kann jedoch vorkommen das in der Tabelle "vergueten" mehr oder auch weniger Datensätze mit dem selben Suchmuster als in der Tabelle "ziehen"gibt. Doch seht selbst:

Code:                   In Zwischenablage kopieren (nur IE)
1">

Das war mein bisheriger Versuch, jedoch tauchen dabei alle Datensätze aus beiden Datensätzen mehrfach auf, was auch klar ist denn es gibt zweimal LIKE und Lieferant in der Abfrage. Wenn ich aber z.B. nur

Code:                   In Zwischenablage kopieren (nur IE)
2">

schreibe, wird mir ein folgender angezeigt:

Code:                   In Zwischenablage kopieren (nur IE)
3">

kann ich auch nachvollziehen, wieso er das tut, aber wie macht man es nun richtig???
Hier gehts zum Orginal Eintrag "Select über 2 Tabellen" im Forum

Antworten

Hi

Deine Abfrage kommt einem INNER JOIN gleich, nur fehlt mir die JOIN Bedingung

Suchst du villeicht ein UNION?


2.

Ich weiß halt auch nicht so recht, was ich genau brauche. Ich geb dir mal ein Bsp.:

1. in der Tabelle "ziehen" gibt es foldenden Datensatz mit der Chargen_Ring_Nr: 1111-2222
2. Die selbe Ringnummer kann es auch in der Tabelle "vergueten" geben, jedoch kann es passiern, dass sie noch nicht angelegt wurde oder sie wurde gesplittet in 1111-2222 und 1111-2222A.
3.Mein Suchmuster würde z.B. so lauten "Suche mir alle Datensätze mir der Charge: 1111
4. Daten die ich dann erhalten müßte wären:
1111-2222 ; 1111-2222 ; 1111-2222A

Mein Problem hängt halt mit dem Suchmuster zusammen glaube ich, weiß auch nicht was für ein Join ich da nehmen sollte.


3.

Habs grad mit UNION probiert klappt aber auch nicht so richtig:

Code:                   In Zwischenablage kopieren (nur IE)
4">

Es werden mir nur die "Z_C" Werte angezeigt und nicht die "V_C?!"


4.

Union funzt also nicht da er ja Datensätze zusammenfügt, brauche aber alle Datensätze?


5.

Guck dir mal JOIN an.
http://www.w3schools.com/sql/sql_join.asp


6.

Schön und gut mit dem Joins aber wie binde ich mein Suchmuster darin ein?


7.

Es muss in beiden Tabellen nach dem selben suchen.


8.

Ich denke, dass du mit UNION schon gut dran bist.

Probier mal
Code:                   In Zwischenablage kopieren (nur IE)
5">

nur um zu sehen, ob wirklich nichts aus der vergueten Tabelle dabei ist.


9.

Bei deinem Versuch gibt er gar nichts aus, was ich vorhin probiert hab, hat er mir doch die Datensätze aus der Tabelle "vergueten" angezeigt jedoch nur die Ungleich der Tabelle "ziehen" waren.

Das Ergebniss dieser Abfrage sollte später mal so in einer Tabelle ausgegeben werden:

Ziehen...........Vergueten
1111-2222....1111-2222
....................... 1111-2222A
1111-3333....1111-3333
1111-4444....1111-4444
........................1111-4444A
1111-5555


10.

Es scheint mir als hängen die beiden Tabellen doch über die Charge_Ring zusammen


Code:                   In Zwischenablage kopieren (nur IE)
6">




11.

So ähnlich war ja mein erster Versuch ja auch, war zwar ein normal Join aber naja. Also was bei deinem Versuch rauskommt ist ähnlich, wie bei mir. Also bei der Tabelle "ziehen" kommt je 5 mal der selbe Datensatz und bei der Tabelle "vergueten" je 4 mal.


12.

Ja sie hängen zusammen und zwar kann niemals ne andere Charge-Ring-Nummer in der Tabelle "vergueten" vorkommen , wie sie in der Tabelle "ziehen" vorgegeben, außer wenn eine Erweiterung an die Nummer angehangen wurde, wie hier "A"


13.

So ich hab das Suchmuster jetzt weggelassen, zur Zeit sieht es so aus:

Code:                   In Zwischenablage kopieren (nur IE)
7">

Aber leider werden mir immer noch alles Datensätze mehrfach angezeigt . Ich hoffe auf euere Hilfe komm echt nicht weiter....


Hier gehts zum Orginal Eintrag "Select über 2 Tabellen" im Forum
 
phpforum.de | Impressum | Handy Bundles