Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
5 / 5 / 7
Регистрация: 01.08.2013
Сообщений: 174
1

Выборка из нескольких таблиц, вывод содержимого

17.11.2013, 23:08. Просмотров 1230. Ответов 4
Метки нет (Все метки)

есть запрос, он выводит покерные комнаты и столы, в таком виде:
комната: стол:
111 1
111 2
111 3
123 1
123 1
124 5


MySQL
1
2
3
4
5
6
7
8
9
SELECT a.title_en as room_name, d.title_en as table_name, e.date_end_room, COUNT(e.id) as colvo
                            FROM TFiles_poker_room as a, TLogin_poker_room as b, TLogin_table as c, TFiles_table as d, TLogin as e
                            WHERE a.id = b.poker_room
                            AND b.poker_room = c.poker_room
                            AND d.id = c.table
                            AND e.id = b.user
                            AND e.id = c.user
                            GROUP BY a.title_en, d.title_en
                            ORDER BY a.title_en ASC
Можно ли, выводить так:
комната: стол:
111 1, 2, 3
123 1, 2
124 5
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.11.2013, 23:08
Ответы с готовыми решениями:

Выборка из нескольких таблиц
Добрый день. Помогите сделать выборку с 3 и более таблиц. Вот пример, есть несколько таблиц ...

Выборка из нескольких таблиц
есть 2 таблицы 'AUDUSD' и 'EURUSD' в каждой есть столбец с названием 'c100' нужно одним запросом...

Выборка из нескольких таблиц
Приветствую! Предположим, имеется две таблицы: main (id INT, price INT, info TEXT) и areas (id...

Выборка из нескольких таблиц
Добрый день, помогите разобраться есть такая структура базы данных, 1.Таблица новостей news...

4
65 / 65 / 6
Регистрация: 22.09.2010
Сообщений: 182
18.11.2013, 03:38 2
http://dev.mysql.com/doc/refma... oup-concat

SQL
1
2
3
SELECT room_id, GROUP_CONCAT(DISTINCT table_id ORDER BY table_id DESC SEPARATOR ', ')
FROM room_table
GROUP BY room_id
1
5 / 5 / 7
Регистрация: 01.08.2013
Сообщений: 174
18.11.2013, 10:43  [ТС] 3
Great-Antique, получилось вот таким образом:
MySQL
1
2
3
4
5
6
7
8
9
SELECT a.title_en as room_name, GROUP_CONCAT(DISTINCT d.title_en ORDER BY d.title_en ASC SEPARATOR ', ') as table_name
FROM TFiles_poker_room as a
LEFT JOIN TLogin_poker_room as b ON a.id = b.poker_room
LEFT JOIN TLogin_table as c ON b.poker_room = c.poker_room
LEFT JOIN TFiles_table as d ON d.id = c.table
LEFT JOIN TLogin as e ON (e.id = b.user AND e.id = c.user)
 
WHERE e.date_end_room > unix_timestamp(now())
GROUP BY a.title_en
Добавлено через 10 минут
как бы теперь еще прикрутить COUNT(e.id) чтобы было

комната: стол:
111 стол1(5ть штук), 2(3), 3(1)
123 1, 2
124 5
0
65 / 65 / 6
Регистрация: 22.09.2010
Сообщений: 182
18.11.2013, 17:51 4
Я предпологаю что в вашем случае вам надо все-таки доставать отдельно имя комнаты, все ее столы и их кол-во. Без group concat'а и уже в php отрисовывать так как надо. Повторюсь, что конкретно в вашем случае. Я вам в вашу вторую тему отписал.

А если вы хотите одним запросом это выбрать - то так сразу в голову приходит вариант сделать подзапрос, где вытащить агрегированные данные (сгруппированные по двум полям) и потом уже их конкатенировать.

SQL
1
GROUP BY a.id, d.id
И еще: группируйте не по title_en, но по id
1
5 / 5 / 7
Регистрация: 01.08.2013
Сообщений: 174
20.11.2013, 11:59  [ТС] 5
Great-Antique, в итоге отказался от вывода количества) но перед этим выводил как вы написали - сначало выбирал комнаты, а потом относительно этих комнат столы
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.11.2013, 11:59

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Выборка из нескольких таблиц одновременно
можно ли сформировать запрос что бы выбрать рандом например 10 записей из одной таблици и столько...

Ресурсоемкая выборка с нескольких таблиц
Здравствуйте, форумчане! Нужна помощь. Есть база для хранения информации об оплате...

Выборка из нескольких таблиц по строке
Приветствую. Есть две таблицы в БД Table 1 id | name | row1 | row2 1 | field1 | some data |...

Необычная выборка из нескольких таблиц
Есть две таблички: DROP TABLE IF EXISTS `m`; CREATE TABLE `m` ( `student_id` mediumint(9)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.