группа mysql объединяется внутри, в то время как
У меня есть эта дата таблицы пассажиров:
Это означает, что в бронировании 000004
есть два маршрута, которые являются маршрутом 0000010 (AAC Hangar - Anvaya Cove)
и 0000011 (Anvaya Cove - AAC Hangar)
, и в каждом маршруте есть два пассажира (0000007 (taiga)
и 0000011 riyuuji
являются пассажирами 0000010 AAC Hangar - Anvaya Cove while
0000008 минориand
0000012 амиare passengers of
0000011 Ангар 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
, но на данный момент я все еще не могу получить желаемый результат. Пожалуйста, помогите.
1 answers
Вам нужно использовать 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