ERLEDIGT
NEIN
NEIN
ANTWORTEN
8
8
ZUGRIFFE
279
279
EMPFEHLEN
-
Hallo,
ich frag mich gerade wie ich es schaffe das alle Gruppen zurückgegeben werden.
es gibt 3 Tabellen:
Tabelle "buch_groups_def"
| id | name |
Tabelle "buch_groups"
| buch_group_id | buch_id |
Tabelle "buecher"
| id | owner |
Also die 'buch_groups'-Tabelle ist quasi die mxn-Tabelle
Diese 3 Tabellen wollte ich mit einer SQL abfrage verknüpfend ausgeben lassen, scheitere jedoch daran, dass die Gruppen in denen keine 'buch_ids' sind bzw. keine 'owner' nicht ausgegeben werden...
So sieht meine SQL-Abfrage aus:
Code :1 2 3 4 5 6 7 8 9 10
SELECT buch_groups_def.id AS groupid, buch_groups_def.name AS groupname, group_concat( DISTINCT ( CAST( buch_groups.buch_id AS CHAR ) )) AS buch_ids, group_concat( DISTINCT ( buecher.owner) ) AS owners FROM buch_groups LEFT JOIN buch_groups_def ON buch_groups.buch_group_id = buch_groups_def.id RIGHT JOIN buecher ON buch_groups.buch_id = buecher.id GROUP BY buch_group_id ORDER BY groupid DESC
Und das Resultat:
Code :1 2 3 4 5 6
groupid groupname buch_ids owners 14 action 4082,4085 peter,stefan 13 liebe 4085,4122 test,lalala 12 test 4091,4092,4093 oli,Bill,hans 7 technik 4085 harry
Gewünscht:
Code :1 2 3 4 5 6 7 8
groupid groupname buch_ids owners 14 action 4082,4085 peter,stefan 34 kunfu NULL NULL 13 liebe 4085,4122 test,lalala 12 test 4091,4092,4093 oli,Bill,hans 45 xxx NULL NULL 7 technik 4085 harry
Für Hilfe wäre ich sehr erfreut und ich hoffe ich konnte mich präzise genug ausdrücken
im voraus
Besten DankGeändert von hehe_me (16.08.11 um 15:53 Uhr) Grund: Verbesserung
-
buch_groups_def LEFT JOIN buch_groups LEFT JOIN buecher
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
Hallo und danke für die Antwort.
Die Änderung klappt nicht.
Es werden leider immernoch nicht alle Gruppen zurückgegeben..
Evtl. eine andere Möglichkeit?
-
Zeig mal deine Umsetzung meines Vorschlages.
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
Ich habe noch direkt nach dem SELECT "buch_groups_def.id AS groupid" in "device_groups_def.name as groupid" geändert.
Nochmal: Es lag am Group By welches ich in 'groupname' änderte. Jetzt klappt es auch.
Besten Dank für die bisherige Hilfe..Geändert von hehe_me (17.08.11 um 13:00 Uhr)
-
Hallo nochmals eine Frage?
Code :1 2
LEFT JOIN buch_groups ON buch_groups.buch_group_id = buch_groups_def.id AND buch_groups_def.name = 'TELLA.technik'
Mir gibt diese Abfrage zwar ein Resultat zurück. aber wie schaffe ich es, dass hier z.b.
alle Gruppen TELLA.* zurückgegeben werden?
Mit:
Code :1 2
LEFT JOIN buch_groups ON buch_groups.buch_group_id = buch_groups_def.id AND buch_groups_def.name = 'TELLA.%'
bin ich leider nicht erfolgreich.
Besten Dank im voraus
-
LIKE anstatt = sollte funktionieren
-
Hallo und guten Morgen chibisuke,
LIKE "TELLAS.%" liefert mir dies aber das Problem ist das auch Einträge zurückgegeben werden die nicht auf das Suchmuster "TELLAS.%" zutreffen.
...Geändert von hehe_me (18.08.11 um 13:03 Uhr)
-
weil du deinen LEFT JOIN machst und deinen check in der ON clause ausführt.
warscheinlich ist das was du willst ein INNER JOIN.
Ähnliche Themen
-
MySQL innodb - join abfrage -
Von Kipperlenny im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 02.06.09, 18:00 -
MySQL Abfrage Felder von bis möglich ?
Von katlina im Forum Relationale DatenbanksystemeAntworten: 6Letzter Beitrag: 05.01.08, 15:34 -
MySQL Abfrage Felder von bis möglich ?
Von katlina im Forum PHPAntworten: 1Letzter Beitrag: 19.12.07, 09:56 -
Join-Abfrage: Auch Nicht vorhandene Gegenelemente anzeigen
Von meilon im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 23.06.05, 22:30 -
[MYSQL] (join-)Abfrage mit zwei IDs
Von OnkelKarl im Forum Relationale DatenbanksystemeAntworten: 5Letzter Beitrag: 22.03.05, 17:25





Zitieren

Login





