Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
Mysql сложный запрос
Новая тема
Ответить
цитата
01/06/07 в 09:37
atrius
Приветствую.
Просветите меня, плз, что делает вот такой запрос.
Я понимаю, что таблицу создает, но вот какую....
Код:
CREATE TABLE artists_and_works
SELECT artist.name, COUNT(work.artist_id) AS number_of_works
FROM artist LEFT JOIN work ON artist.id = work.artist_id
GROUP BY artist.id;
Спасибо.
цитата
01/06/07 в 09:55
Stek
таблицу по результатам селекта
цитата
01/06/07 в 09:57
atrius
А можно чуть подробней...
Как результат Count(поле) As (другое поле) можно использовать как названия поля в таблице
Count же число возвращает
цитата
01/06/07 в 10:56
Stek
ну запусти
Код:
SELECT artist.name, COUNT(work.artist_id) AS number_of_works
FROM artist LEFT JOIN work ON artist.id = work.artist_id
GROUP BY artist.id
и вот весь результат, с такими же названиями полей, будет использован для создания таблицы.
цитата
01/06/07 в 13:36
alexpotemkin
Скажем мягко запрос не сложный
. Раз уж ты добрался до документации по мускулу (это уже само по себе похвально, желательно читать ее побольше и подобных вопросов более не вешать, тем более здесь, поверь мне совсем не место
), а именно этот пример расположен на странице
http://dev.mysql.com/doc/refman/5.0/en/create-table.html.
Так вот здесь идет речь о создании таблицы artists_and_works, которая содержит два поля name и number_of_works, собственно говоря и все.
цитата
01/06/07 в 22:44
Sirgey
CREATE TABLE artists_and_works //создать таблицу по имени artists_and_works
SELECT artist.name, COUNT(work.artist_id) AS number_of_works//c полями name и number_of_works
FROM artist //а качестве данных для заполнения использовать выбрку из таблицы artist
и
LEFT JOIN work//таблицы work
GROUP BY artist.id //сгруппировать строки по id в artist для подсчёта COUNT(work.artist_id)
artist.id = work.artist_id//причём строки склеить в которых столбец id в таблице artist равен столбцу artist_id в таблице work, таким образом поле name будет из одной таблицы (artist), а поле number_of_works будет суммой строк из другой (work)
А теперь по человечески.
Будет создана таблица artists_and_works, столбцы name и number_of_works. Туда будут вставлены все имена артистов (name из таблицы artist) и количество работ данного артиста (number_of_works, число строк из таблицы works для данного артиста). В итоге получится как - то так:
name, number_of_works
Madonna, 20
Petr, 10
Fill, 100
Вопросы ещё есть?
цитата
04/06/07 в 10:14
atrius
Вопросов больше нет. Огромное спасибо
Новая тема
Ответить
Эта страница в полной версии