![]() |
[php] mysql verknüpfte abfrage
hi
ich glaub ich habe einen kleinen denkfehler bezügl. dieser ausgabe: habe 2 tables die über die kunde_id verknüpft sein sollen. nun will ich ne suchausgabe machen. mein derzeitiger befehl sieht so aus: PHP-Code:
bei LEFT JOIN liefert er mir zwar die richtigen treffer, aber es kann sein dass der kunde mehrfach aufgelistet wird. wo liegt hier der fehler? auslesen tu ich mit: PHP-Code:
|
hm, wenn ich dich grad richtig verstanden hab könntest es mal mit "SELECT DISTINCT ......" probieren, sollte alle gleichen Werte zu einem zusammenfassen. sonst müssts noch mit "WHERE (...) GROUP BY $db_kunden.kunde_id" funktionieren.
mfg Thomas |
habs mit group by getestet und es geht einwandfrei.. aber mit left join.
was mich n wenig stutzig macht ist das es mit inner join nicht funktioniert |
Kommt zuviel oder zuwenig raus?
wenn zuwenig: dann gibts beim inner join für manche kunden keine kontakte wenn zuviel: könnt sein, dass du das ganze dann noch nach der kontakt_id ($db_kontakt.kontakt_id, falls es sowas in deiner db gibt) gruppieren musst (group by $db_kunde.kunde_id,$db_kontakt.kontakt_id) ich leg dir außerdem noch die ausführliche manual von mysql ans herzen: http://dev.mysql.com/doc/mysql/de/index.html http://dev.mysql.com/doc/mysql/en/index.html |
naja es war so dass er mir bei left join alle einträge gebracht hat aber bei inner join nur einträge von ersten kunden wenn ein eintrag mit dem stichwort übereingestimmt hat
|
Hm, gute Frage.
Kenne leider deine Datenbankstruktur nicht, daher - wo ist die Kunden_ID eindeutig? Ich denke mal in der Kundentabelle. Gibt es für einen Kunden mehrere Kontakte oder umgekehrt? Gibt es für jeden Kunden Kontakte? Wenn dem nicht so ist, werden bei inner join nur die Kunden zurückgeliefert, für die ein Kontakt vorhanden ist. Das kann natürlich zufällig nur eine Zeile sein, falls nur für einen Kunden ein Kontakt vorhanden ist. group by fasst immer unterschiedliche werte für die Kunden_id zusammen. also wenn mehrere verschiedene kunden_ids vorhanden sind, müssten auch mehrere zeilen vorhanden sein. Aber - nachdem du eine funktionierende Lösung hast kannst du diese ja verwenden :D mfg Thomas |
ja solange es keine probleme gibt
trotzdem danke für dein bemühen! |
solangs so einfach ist, gerne :)
|
| Alle Zeitangaben in WEZ +2. Es ist jetzt 12:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag