|
|
|
| Структура:
CREATE TABLE IF NOT EXISTS `sub_comments` (
`id_father` int(10) NOT NULL,
`id_child` int(10) NOT NULL,
`val` int(3) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
INSERT INTO `sub_comments` (`id_father`, `id_child`, `val`) VALUES
(183, 0, 0),
(183, 184, 1),
(183, 185, 2),
(183, 186, 3),
(141, 414, 4),
(111, 222, 2);
|
При:
<? $sub_comm1 = mysql_query ("SELECT * FROM sub_comments GROUP BY id_father",$db);
echo $sub_comm['val']; // выводит: 2,4,0 А должно: 0,1,2,3,4,2
echo $sub_comm['id_child'] // 222, 414, 0 А должно :0,184,185,186,414, 222
|
Т.е. при попытке вывести уникальные данные из id_father из остальных полей выводиться не вся информация.
В чем проблема? | |
|
|
|
|
|
|
|
для: lElectroHardl
(12.09.2010 в 17:56)
| | Так не должно быть.
SELECT DISTINCT(`val`),`id_child` FROM `sub_comments` GROUP BY `id_child`
|
| |
|
|
|
|
|
|
|
для: ols
(12.09.2010 в 18:42)
| | Сделал под свой запрос, все-равно выводит 3 значения из любого поля:
SELECT DISTINCT(`id_father`), `id_child`, 'val' FROM `sub_comments` GROUP BY `id_father`
|
В результате я хочу получить такую структуру:
183
--0
--184
--185
--186
141
--414
111
--222
Т.е. вывести 1 раз id_father и ниже вывести все значение id_child, которые соответствуют значению id_father. | |
|
|
|
|
автор: ..... (12.09.2010 в 18:52) |
|
|
для: lElectroHardl
(12.09.2010 в 17:56)
| | > GROUP BY id_father
id_father повторяются 183,183,183, 183,141,111
или имеете ввиду надо
GROUP BY id_father DESC
или такое
SELECT `id_father`,
CAST(GROUP_CONCAT(`id_child`)AS CHAR),
CAST(GROUP_CONCAT(`val`)AS CHAR)
FROM `sub_comments` GROUP BY `id_father`;
или чего ?
SELECT * FROM `sub_comments` GROUP BY `id_father`, `id_child`; | |
|
|
|
|
|
|
|
для: .....
(12.09.2010 в 18:52)
| | Хочу получить такую структуру:
183
--0 0
--184 1
--185 2
--186 3
141
--414 4
111
--222 2
Т.е.:
id_father
--id_child val
И значение id_father не должно повторяться. | |
|
|
|
|
автор: ..... (12.09.2010 в 19:30) |
|
|
для: lElectroHardl
(12.09.2010 в 19:08)
| | результаты SELECT прямоугольно-плоские имена//значения
SELECT * FROM `sub_comments` GROUP BY `id_father` DESC, `id_child`;
запоминайте в цикле текущий id_father выводя его только из первого ряда
и выводите все id_child val | |
|
|
|
|
|
|
|
для: .....
(12.09.2010 в 19:30)
| | Спасибо. | |
|
|
|