![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Schon länger dabei
![]() |
![]() Fragen an die DB Experten:
Sollte bei einem Fulljoin nicht die Reihenfolge der Tabellen egal sein? Warum funtioniert dieses Beispiel nicht (Keine Fehlermeldung, es werden aber nur 0 Datensätze ausgegeben). Code:
SELECT t.text_title, t.text_key, t.text_group, t.field, tts.text FROM text t, text_to_stores tts where t.status = 1 and tts.key = t.text_key and tts.store_id = 101 order by t.sort Code:
SELECT t.text_title, t.text_key, t.text_group, t.field, tts.text FROM text_to_stores tts, text t where t.status = 1 and tts.key = t.text_key and tts.store_id = 101 order by t.sort Kann mir jemand eine Erklärung dazu geben? Hab mit dem Blödsinn ne Stunde versch...en.
____________________________________
www.mankra.com Meine private Site |
![]() |
![]() |
![]() |
#2 |
Aussteiger
![]() |
![]() lies dir mal die mysql-referenz zu join durch
![]() http://dev.mysql.com/doc/refman/5.1/de/join.html http://dev.mysql.com/doc/refman/5.1/...imization.html
____________________________________
Praktizierender Eristiker No hace falta ser un genio para saber quién dijo eso. Der wirklich faule Mensch ist oft extrem fleißig, denn er will möglichst schnell wieder faul sein. |
![]() |
![]() |
![]() |
#3 |
Schon länger dabei
![]() |
![]() Kenn ich natürlich, weiß jetzt nicht, wonach ich suchen sollte.
Bei dieser Schreibweise handelt es sich ja um ein Full-Join. Bei nem Outer Join, wärs schon klar (oder auch nicht, wenn ich jetzt so nachdenk, da ich sowieso nur die Datensätze brauch, wo es volle Datensätze gibt). Ich verstehe nicht, warum Beispiel eins 0 Zeilen als Ergebniss erzeugt.
____________________________________
www.mankra.com Meine private Site |
![]() |
![]() |
![]() |
#4 | |
Aussteiger
![]() |
![]() ich beziehe mich auf diesen punkt der doku:
Zitat:
was mir noch einfallen würde: probier als erste die verbindungs-bedingung zw. den beiden tabellen ... dadurch sollte der optimizer beim parsen des statements jedenfalls zuerst erkennen, dass er beide tabellen für ein korrektes ergebnis verbinden sollte ![]() nebenbei macht das so ein statement auch leichter lesbar - vor allem bei umfangreichen abfragen mit vielen tabellen hilft das sehr ...
____________________________________
Praktizierender Eristiker No hace falta ser un genio para saber quién dijo eso. Der wirklich faule Mensch ist oft extrem fleißig, denn er will möglichst schnell wieder faul sein. |
|
![]() |
![]() |
![]() |
#5 |
Schon länger dabei
![]() |
![]() Also
Code:
SELECT .... FROM text t, text_to_stores tts where tts.key = t.text_key and t.status = 1 and tts.store_id = 101
____________________________________
www.mankra.com Meine private Site |
![]() |
![]() |
![]() |
#6 |
Schon länger dabei
![]() |
![]() Aber jetzt hab ichs:
Mit Code:
FROM `text` t, text_to_stores tts D.h. kein Logigfehler, sondern "nur", daß die DB den Tabellen Namen text als Schlüsselwort interpretiert. Ohne Fehlermeldung hab ich an dies nicht gedacht.
____________________________________
www.mankra.com Meine private Site |
![]() |
![]() |
![]() |
#7 |
Aussteiger
![]() |
![]() solch triviale fehler sind immer wieder witzig
![]()
____________________________________
Praktizierender Eristiker No hace falta ser un genio para saber quién dijo eso. Der wirklich faule Mensch ist oft extrem fleißig, denn er will möglichst schnell wieder faul sein. |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|