|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
12.02.2018, 17:20 | #1 |
Регистрация: 07.10.2008
Сообщений: 3
|
выборка из БД - как сгруппировать значения из БД по одной и той же записи избежав повторов
Здравствуйте!
Возникла задача, как сгруппировать значения из БД, если допустим выводится информация по одной и той же записи, но с разными местами размещения магазинов Как реализовать, чтоб было все для одной записи, убрав дуплетность Во вложении пример В поле id_book - это одна и та же книга, В поле id_sigla- места магазинов Получается,что выводится она 2 раза с одинаковым названием книги Как этого избежать Спасибо P.S существуют экземпляры, которые имеются только в одном месте, и соответственно выводятся только один раз |
12.02.2018, 17:25 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
что за книга, что за места магазинов, каким запросом выводите и, главное, а как Вы хотите получить результат (в каком виде)?
|
12.02.2018, 18:08 | #3 |
Регистрация: 07.10.2008
Сообщений: 3
|
вот я привожу результат выборки- данные одинаковые, поэтому их мне необходимо объединить, и просто места вывести строчка за строчкой (друг под другом)
* места, это что после черты обозначено |
12.02.2018, 21:17 | #4 |
Пользователь
Регистрация: 05.11.2017
Сообщений: 59
|
Код:
|
12.02.2018, 22:47 | #5 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
гораздо проще и удобнее сделать так: получать данные запросом, в запросе сортировать по id_book а при выводе данных (в PHP, как я понимаю), просто выводить книгу один раз. у Вас есть PHP код, в котором Вы выводите в HTML результаты запроса? вот там и нужно внести маленькие поправки. |
|
13.02.2018, 01:58 | #6 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,158
|
Да с чего это сложно то?
Group by id_book |
13.02.2018, 09:40 | #7 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Можно и так, а что будет в этом случае с полем, где находится название магазина (id_sigla) ?
если речь идёт про MySQL, тогда можно использовать GROUP_CONCAT() но, если нужно получить таблицу представленного TC вида запросом с group_by будет на порядок сложнее, чем обрабатывать данные на клиенте. |
13.02.2018, 11:39 | #8 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,158
|
ну еще один LEFT JOIN ....
не думаю что тот случай чтоб выносить на клиента |
14.02.2018, 12:44 | #9 | |
Регистрация: 07.10.2008
Сообщений: 3
|
Цитата:
Например по id_sigla - собственно определяется адрес т.е 1 - Москва 2- Казань 3- Саратов и так далее GROUP_CONCAT- вывел только id_sigla - но вывел блестяще Как доделать и решить проблему пожалуйста, подскажите Спасибо |
|
14.02.2018, 12:49 | #10 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Запросом не решить проблемы отображения. Не надо ни чего группировать. Выборка с повторами и с сортировкой по id_book. При отображении следить за изменением id_book и поступать соответственно
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сгруппировать все ненулевые значения в начале массива | Sergey_Belov | Помощь студентам | 2 | 04.04.2012 12:37 |
Вычисление среднего значения из нескольких полей одной записи | yellowviolet | Microsoft Office Access | 4 | 16.11.2011 22:55 |
Выборка повторов | illyuziy | SQL, базы данных | 18 | 16.11.2011 21:52 |
POSTGRE: выборка данных соотв. значению из той же таблицы | Blondy | SQL, базы данных | 10 | 30.10.2011 14:57 |
Как запустить несколько копий одной и той же программы? | murcot | Помощь студентам | 4 | 20.02.2009 11:28 |