Самый добрый бегемот
С нами с 24.06.03
Сообщения: 954
Рейтинг: 574
|
Добавлено: 01/06/07 в 09:37 |
Приветствую.
Просветите меня, плз, что делает вот такой запрос.
Я понимаю, что таблицу создает, но вот какую....
Код: |
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;
|
Спасибо.
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 01/06/07 в 09:55 |
таблицу по результатам селекта
|
|
Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.
|
0
|
|
|
Самый добрый бегемот
С нами с 24.06.03
Сообщения: 954
Рейтинг: 574
|
Добавлено: 01/06/07 в 09:57 |
А можно чуть подробней...
Как результат Count(поле) As (другое поле) можно использовать как названия поля в таблице
Count же число возвращает
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 01/06/07 в 10:56 |
ну запусти Код: | 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 |
и вот весь результат, с такими же названиями полей, будет использован для создания таблицы.
|
|
Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.
|
0
|
|
|
С нами с 19.03.07
Сообщения: 143
Рейтинг: 153
|
Добавлено: 01/06/07 в 13:36 |
Скажем мягко запрос не сложный ![icon_smile.gif](/template/images/smiles/icon_smile.gif) . Раз уж ты добрался до документации по мускулу (это уже само по себе похвально, желательно читать ее побольше и подобных вопросов более не вешать, тем более здесь, поверь мне совсем не место ![icon_smile.gif](/template/images/smiles/icon_smile.gif) ), а именно этот пример расположен на странице http://dev.mysql.com/doc/refman/5.0/en/create-table.html. Так вот здесь идет речь о создании таблицы artists_and_works, которая содержит два поля name и number_of_works, собственно говоря и все.
|
|
|
|
С нами с 16.04.05
Сообщения: 754
Рейтинг: 352
|
Добавлено: 01/06/07 в 22:44 |
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
Вопросы ещё есть?
|
|
|
|
Самый добрый бегемот
С нами с 24.06.03
Сообщения: 954
Рейтинг: 574
|
Добавлено: 04/06/07 в 10:14 |
Вопросов больше нет. Огромное спасибо
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |