Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 5%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 392 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

Dabei seit: 02.05.2006

Beiträge: 39

 

1 Zum Seitenanfang

Dienstag, 16. Mai 2006, 12:35

MySQL: Verknüpfungsproblem

Moin!

Ich habe hier wieder ein Problem, was ich mittels PHP nicht lösen konnte, ich mir aber denke, daß es mittels MySQL möglich ist (welch ein Satzbau *g*).

Und zwar, habe ich hier in einer Datenbank zwei Tabellen, die mit einem PHP-Skript sozusagen "synchronisiert" werden. Das heißt, in der einen Tabelle erscheinen stetig neue Datensätze, die in der anderen Tabelle gefiltert nachher ebenfalls geschrieben werden sollen. Bisher war das eine einfache Select-Abfrage, die einfach alle Datensätze aus der einen herausholt und über PHP gefiltert und anschließlich in die andere Tabelle geschrieben wird. Da das ja doch ziemlich viele Datensätze sind (über 2000), möchte ich das gern über MySQL direkt lösen. Mein Versuch aber schlug bisher fehl bzw. übergab mir ein Ergebnis mit über 5 Millionen (!) Einträgen:

Quellcode

1
2
3
SELECT adr_kunden.Rechnungsnummer
FROM adr_ups, adr_kunden
WHERE adr_ups.Rechnungsnummer <> adr_kunden.Rechnungsnummer


Diese Abfrage sollte eine Tabelle erstellen, die die Rechnungsnummern aus adr_kunden enthält, die in adr_ups noch nicht enthalten sind. Da beide Tabellen im Moment "synchron" sind (da Kopien), erwarte ich hierbei eigentlich ein leeres Ergebnis.

Was ist falsch an meiner Abfrage?
Why should someone who sees
Follow the blind ones...?
Project Pitchfork - IO

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Metalmorphosis« (16. Mai 2006, 12:40)

 

OnkelJürgen

Moderator

Dabei seit: 30.12.2002

Beiträge: 1 719

 

2 Zum Seitenanfang

Dienstag, 16. Mai 2006, 13:04

RE: MySQL: Verknüpfungsproblem

probier es mal mit != anstatt <>, damit funktioniert ein derartiger vergleich normalerweise.

mfg

onkeljürgen
Auf jede Frage gibt es eine Antwort, man muss nur lange genug danach suchen.


z.B. auf www.netscripter.de :-P
 

Dabei seit: 02.05.2006

Beiträge: 39

 

3 Zum Seitenanfang

Dienstag, 16. Mai 2006, 13:34

Diesen Operator hatte ich zuerst auch drin, brachte mir aber das gleiche falsche Ergebnis (5 Millionen Einträge).
Why should someone who sees
Follow the blind ones...?
Project Pitchfork - IO
 

Skittles

Moderator

Dabei seit: 14.02.2004

Beiträge: 3 014

 

4 Zum Seitenanfang

Dienstag, 16. Mai 2006, 14:26

Zitat

Original von Metalmorphosis
Diesen Operator hatte ich zuerst auch drin, brachte mir aber das gleiche falsche Ergebnis (5 Millionen Einträge).


wie wärs mit = oder hab ich da nen denkfehler, denn die rechnungsnummer sollte ja vermutlich gleich und nicht ungleich sein

~!__/
..o.o

This is Einkaufswagen.
Copy Einkaufswagen into your signature to help him on his way to world domination.
 

Dabei seit: 02.05.2006

Beiträge: 39

 

5 Zum Seitenanfang

Dienstag, 16. Mai 2006, 14:33

Zitat

Original von Skittles

Zitat

Original von Metalmorphosis
Diesen Operator hatte ich zuerst auch drin, brachte mir aber das gleiche falsche Ergebnis (5 Millionen Einträge).


wie wärs mit = oder hab ich da nen denkfehler, denn die rechnungsnummer sollte ja vermutlich gleich und nicht ungleich sein


Doch, die sollte ungleich sein, da ja die Rechnungsnummern zurückgegeben werden sollen, die noch nicht in adr_ups enthalten sind.

Ich hab jetzt nochmal die Datentypen der beiden Felder überprüft, um diesen Fehler auszuschließen. Diese sind in beiden Tabellen identisch.
Why should someone who sees
Follow the blind ones...?
Project Pitchfork - IO

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Metalmorphosis« (16. Mai 2006, 14:34)

 

puyan

Grünschnabel

Dabei seit: 09.07.2006

Beiträge: 9

 

6 Zum Seitenanfang

Montag, 10. Juli 2006, 01:36

hi
versuch: SELECT DISTINCT ....
gruß
 

Qjuh

Grünschnabel

Dabei seit: 01.08.2006

Beiträge: 7

 

7 Zum Seitenanfang

Dienstag, 1. August 2006, 17:53

das bringt nix, das problem ist, dass der ","-operator dir das karthesische produkt der tabellen gibt, also jede zeile der einen mit jeder der anderen. versuch mal lieber folgende Abfrage:

Quellcode

1
SELECT adr_kunden.Rechnungsnummer FROM adr_kunden LEFT JOIN adr_ups ON adr_kunden.Rechnungsnummer=adr_ups.Rechnungsnummer WHERE adr_ups.Rechnungsnummer IS NULL;

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Qjuh« (1. August 2006, 17:54)