---------- ---------- ---------- ----------
| t1 | | t2 | | t3 | | t4 |
---------- ---------- ---------- ----------
| id | | id | | id | | t1_id |
| foo | | bar | | foobar | | t2_id |
---------- ---------- ---------- | t3_id |
----------
Ich habe diesen Satz von Tabellen, und mit dieser speziellen Abfrage:SELECT-Abfrage Gruppierung/Verschmelzung für nicht-DISTINCT Ergebnis gesetzt
SELECT foo, bar, foobar VON T4
LEFT JOIN t1 ON t1.id = t4.t1_id
LINKE VERBINDUNG t2 EIN t2.id = t4.t2_id
LINKE VERBINDUNG t3 EIN t3.id = t4.t3_id;
dann könnte ich mit diesem Ergebnis Set kommen:
------------------------------ -------------------------------
| foo | bar | foobar | => | foo | bar | foobar |
------------------------------ -------------------------------
| x | y | a | | x | y | a |
| x | y | b | | | | b |
| x | y | c | | | | c |
------------------------------ -------------------------------
Frage ist: Wie kann ich meine Abfrage irgendwie Gruppe formatiert diese Spalten mit ähnlichen Einträgen, aber nicht diejenigen, die nicht sind? Ist das überhaupt möglich in MySQL
? Ich gebe dies durch PHP
aus, sollte ich also PHP
seine Formatierung behandeln lassen?
Gleiche Frage, wenn es vonPHP
gehandhabt werden sollte.
, wenn Sie am Ende der Abfrage 'Gruppe von foo sagen, bar' können Sie in der Auswahlliste' foobar' zu 'Group_concat (foobar) foobar' ändern Sie es in Form zu erhalten' a, b, c ' – splash58
Ich denke, Sie sollten mit PHP-Side-Logik gehen, dh Wert des ersten Abruf Datensatz speichern und mit anderen Datensätzen übereinstimmen, wenn gefunden, dann nicht drucken oder zeigen andere weise zeigen es. –
Auch wenn es mit MySQL möglich ist, sollte die Darstellung Ihrer Daten nicht in der Verantwortung der Datenbank liegen. PHP ist dafür viel besser geeignet. – apokryfos