---------- ---------- ---------- ----------
| t1 | | t2 | | t3 | | t4 |
---------- ---------- ---------- ----------
| id | | id | | id | | t1_id |
| foo | | bar | | foobar | | t2_id |
---------- ---------- ---------- | t3_id |
----------
を設定し、私はテーブルのこのセットを持っており、この特定のクエリで:SELECT非DISTINCT結果をマージするクエリーのグループ化は/
SELECT fooという、バー、t4からfoobarに
LEFTがON t1に登録しようt1.id = t4.t1_id
LEFT t3.id = t4.t3_id ON T3をJOIN t2.id = t4.t2_id
左側にT2をJOIN。
私は、この特定の結果セットを思い付くことができます:
------------------------------ -------------------------------
| foo | bar | foobar | => | foo | bar | foobar |
------------------------------ -------------------------------
| x | y | a | | x | y | a |
| x | y | b | | | | b |
| x | y | c | | | | c |
------------------------------ -------------------------------
質問は:どのように私は同様のエントリではなく、そうでないものと何とかグループこれらの列に私のクエリをフォーマットすることができますか?これはMySQL
でも可能ですか?私はこれをPHP
を通して出力していますので、PHP
のフォーマットを処理させるべきですか?
これは、PHP
で処理する必要がある場合は同じ質問です。
あなたは、フォームでそれを受け取るために、 'GROUP_CONCAT(foobarに)foobar''、B、C 'に選択リスト 'foobar'に変更することができますbar'、FOOによってクエリ'グループの最後に言うならば – splash58
私はあなたが最初のフェッチレコードの値を格納し、他のレコードと一致する場合は、印刷されていないか、他の賢明な表示を表示する場合は、PHP側のロジックと一緒に行くべきだと思う。 –
MySQLで可能であっても、データの提示面はデータベースの責任であってはなりません。これにはPHPがはるかに適しています。 – apokryfos