Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Выборка данных из 2 таблиц с разными полями + группировка
Покинул форум
Сообщений всего: 189
Дата рег-ции: Янв. 2013
Помог: 1 раз(а)
Есть 2 таблицы. Из одной надо выбрать сумму числовых данных с одинаковым id а с другой имя и фамилию. Нужно получить все это в одном результате запроса.
SELECT first_name, last_name FROM contacts JOIN(SELECT contact_id, SUM(duration)FROM activities GROUPBY contact_id) act ON contact_id = contacts.id
----- PostgreSQL DBA
vintag
Отправлено: 20 Ноября, 2015 - 22:12:39
Новичок
Покинул форум
Сообщений всего: 35
Дата рег-ции: Нояб. 2015
Помог: 0 раз(а)
lawer85 пишет:
Есть 2 таблицы. Из одной надо выбрать сумму числовых данных с одинаковым id а с другой имя и фамилию. Нужно получить все это в одном результате запроса.
SELECT activities.SUM(duration), contacts.first_name, contacts.last_name FROM
contacts, activities WHERE activities.[поле таб. activities первичного, общего ключа для обоих таблиц]=contacts.[тоже самое поле но уже второй таблицы]; (Добавление)
если всех то так:
SELECT activities.*, contacts.* FROM
contacts, activities WHERE activities.[поле таб. activities первичного, общего ключа для обоих таблиц]=contacts.[тоже самое поле но уже второй таблицы];
lawer85
Отправлено: 20 Ноября, 2015 - 23:15:19
Частый гость
Покинул форум
Сообщений всего: 189
Дата рег-ции: Янв. 2013
SELECT first_name, last_name FROM contacts JOIN(SELECT contact_id, SUM(duration)FROM activities GROUPBY contact_id) act ON contact_id = contacts.id
При такой выборке я получаю только лишь данные first_name, last_name а мне надо чтобы к этим данным я еще получал duration (Добавление)
смысл в чем из одной таблицы я суммирую все значения поля duration с одним и тем же contact_id для этого и пишу GROUP BY contact_id, а из другой таблицы мне надо получить имя и фамилию.
Кстати поле id таблицы с именами и фамилиями = contact_id
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.