2

私はこの乗客テーブルの日付を持っています:

ここに画像の説明を入力してください

つまり、予約000004には、旅程との2つの旅程が0000010 (AAC Hangar - Anvaya Cove)あり0000011 (Anvaya Cove - AAC Hangar)、すべての旅程には2人の乗客がいます(0000007 (taiga)そして0000011 riyuuji0000010 AAC Hangar - Anvaya Cove while0000008 minori and0000012 ami are passengers of0000011 Anvaya Cove-AAC格納庫の乗客です)。

私はそれらを使用して連結しようとしていますgroup_concatが、私はこれのようにしかできません:

    $a=mysql_query("select group_concat(pass_name separator ', ') as 'pass' from passengers where reservno = '0000004' order by id asc") or die(mysql_error());
    $b=mysql_fetch_array($a);
    $c=$b['pass']; 

結果:taiga, minori, riyuuji, ami

しかし、私はそれを次のように見せたいです: taiga, riyuuji / minori, ami

これは使用して可能group_concatですか?これにはステートメントが含まれることはわかっていますがwhile、現時点ではまだ目的の出力を取得できません。助けてください。

4

1 に答える 1

2

GROUP BY句を使用する必要があります

select group_concat(pass_name separator ', ') as 'pass' 
from passengers 
where reservno = '0000004' 
GROUP BY reservno, id
order by id asc

更新 1

SELECT  group_concat(`pass` separator ' / ') `pass` 
FROM    ( 
            select group_concat(pass_name separator ', ') as 'pass' 
            from passengers 
            where reservno = '0000004' 
            GROUP BY reservno, id order by id asc 
        ) s
于 2013-03-21T06:07:28.040 に答える