powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выбрать коментарии к сообщениям
4 сообщений из 4, страница 1 из 1
Выбрать коментарии к сообщениям
    #39072612
tegs89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем. Прошу помощи.
Имееться 2 таблицы:

CREATE TABLE IF NOT EXISTS `recognition` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`id_host` int(11) NOT NULL COMMENT 'кто',
`id_client` int(11) NOT NULL COMMENT 'кому',
`message` varchar(120) CHARACTER SET cp1251 NOT NULL,
`bonus` varchar(60) CHARACTER SET cp1251 NOT NULL,
`bonus_img` varchar(155) CHARACTER SET utf8 NOT NULL,
`department` varchar(88) CHARACTER SET utf8 DEFAULT NULL,
`likes` int(11) NOT NULL,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4342 ;



CREATE TABLE IF NOT EXISTS `recog_users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`id_recog` int(11) NOT NULL,
`id_user` int(11) NOT NULL,
`id_from` int(11) NOT NULL COMMENT 'от кого пришло',
`points` int(11) NOT NULL COMMENT 'сколько балов',
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=14965 ;



Имееться запрос который делает сгрупированную выборку:
SELECT r.*, r.date date, u.email, s.name_en name_from, s.sapphoto host_photo, s.function_en from_func, COUNT(rc.comment) comments, rc.likes likes_comment, u.email email_from FROM recog r
LEFT JOIN user u ON u.id = r.id_host
LEFT JOIN _sap s ON s.sapemail = u.email
LEFT JOIN recog_comm rc ON r.id = rc.id_recog
WHERE r.department IS NOT NULL GROUP BY r.date ORDER BY r.date DESC


Как написать запрос что бы к каждому сгрупированому сообщению что мы выбираем добавлялся массив его коментариев? В данном случае когда я делаю еще один ДЖОИН то добавляеться всего 1 комментарий (Мне нужно что бы все.). Помогите пожалуйста!
...
Рейтинг: 0 / 0
Выбрать коментарии к сообщениям
    #39072624
tegs89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу прощения, перепутал таблицы. Вместо второй таблицы recog_user вот эта:

CREATE TABLE IF NOT EXISTS `recog_comments` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`id_recog` int(11) NOT NULL,
`id_user` int(11) NOT NULL,
`comment` varchar(250) CHARACTER SET cp1251 NOT NULL,
`likes` int(11) NOT NULL,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=52 ;
...
Рейтинг: 0 / 0
Выбрать коментарии к сообщениям
    #39072651
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tegs89когда я делаю еще один ДЖОИН то добавляеться всего 1 комментарий (Мне нужно что бы все.)Во-первых, нужна группировка, чтобы собрать несколько записей в одну. Во-вторых, нужна функция GROUP_CONCAT(), чтобы собрать значения полей разных записей при группировке в одну.
...
Рейтинг: 0 / 0
Выбрать коментарии к сообщениям
    #39072661
tegs89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тоесть функция GROUP_CONCAT буде целесообразна если у нас к примеру имеються в 1 таблице записи а во 2 таблице коментарии к ним. И нам нужно выбрать все сгрупированные записи и что бы в каждой записи в одном из полей хранились к ним коментарии которые мы туда засунем с помощью GROUP_CONCAT. Я правильно понимаю?
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выбрать коментарии к сообщениям
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]