2015-10-07 4 views
-1

у меня есть проблема с использованием SELECT, SQL function.i пытаюсь получить данные из моей таблицы, такие как следующие:как объединить несколько данных в одну строку

cid | cname | fid | fname   | type | status | 
10  | sue  | 4 | Bun   | pickup | pending | 
10  | sue  | 10 | Lamb   | pickup | pending | 
10  | sue  | 17 | Cheese   | pickup | pending | 
10  | sue  | 31 | Spicy   | pickup | pending | 
12  | lho  | 5 | crispy bun  | pickup | pending | 
12  | lho  | 8 | Chicken  | pickup | pending | 
12  | lho  | 17 | Cheese   | pickup | pending | 
12  | lho  | 29 | Normal   | pickup | pending | 

я пытался сделать это как это:

cid | cname | fname        | type | status | 
10 | sue  | Bun, Lamb, Cheese, Spicy   | pickup | pending | 
12 | lho  | Crispy bun, Chicken, Cheese, Normal | pickup | pending | 

ниже мой запрос:

$query="SELECT cid, cname, cnumber, type, date, fid, status, fname, 
GROUP_CONCAT(fname SEPARATOR ', ') FROM purchase GROUP BY cname,cid"; 

есть ли решение моей проблемы, пожалуйста, помогите и спасибо у? ой так много.

+2

какие результаты вы получаете, когда вы запускаете запрос? –

+0

Я полагаю, что у вас есть случайные значения в 'fid, type, status и т. Д.', Потому что когда вы 'GROUP BY', вы должны устанавливать поля в' GROUP BY' или использовать функцию агрегата, такую ​​как 'MIN, MAX, AVG , GROUP_CONCAT' в противном случае результат будет случайным – Alex

ответ

0

GROUP_CONCAT уже добавляет commas для вас, нет необходимости добавлять их, не смотрите ниже:

$query="SELECT cid, cname, cnumber, type, date, fid, status, 
GROUP_CONCAT(fname) FROM purchase GROUP BY cname,cid"; 
+0

спасибо andre3wap..it does work..i просто добавьте после (fname), как результат, тогда он выскочит так, как я хочу его ... .thanks bro..thumbs up .. – Zho

+0

Без проблем, счастливое кодирование :) – andre3wap

Смежные вопросы