Общие > Базы данных

join или как правильно написать запрос?

(1/1)

Skif:
Имеется  таблица:
SELECT * from _table_name_1_
+------------+-----------------+------------+------------+
| user_login | user_permission | user_state | user_limit |
+------------+-----------------+------------+------------+
| skif        | admin           | unlock     | 0          |
| daniman    | user            | unlock     | 165000000  |
| teleport   | user            | unlock     | 0          |
| manager    | user            | unlock     | 28000000   |

такого содержания.
так же имеется другая таблица, куда слаживаются логи прокси-сервера. там необходимо сделать выборку по одному столбцу size, в котором храниться размер скачаных данных. Этот запрос пишеться элементарно

SELECT SUM(size) from _table_name_2_ where ident=\'pupkin\';

Мне нужно что бы был сумарный вывод, не только имя пользователя, права, его нынешнее  состояние (залочен/нет) и лимит, а еще и сколько он "съел", что  можно вычислить из второй таблицы суммированием столбца sum с именем пользователя из первой таблицы, добытое первым запросом.
Вот никак не могу придумать как такой запрос написать, или не тем пользуюсь?

Макс:
Примерно так
--- Код: ---SELECT * , SUM(tab2.size) from _table_name_1_ as tab1
LEFT JOIN _table_name_2_ as tab2 ON tab1.user_login = tab2.ident
GROUP BY tab2.ident
--- Конец кода ---


а вообще в каждой нормальной книге по СУБД join-ам достаточно много внимания уделяют. Читай.

ЗЫ
пример под mysql писал (впредь укзывай какую СУБД используешь)

Skif:
Спасибо огромное, к сожалению я не нашел хорошего описания по MySQL(писал на нем) этого типа запросов. Может посоветуешь и литературу?

Макс:
при изучении баз стоит выделить 3 вещи:
 - изучение стандарта SQL (в сети куча литературы, я не помню что я читал)
 - изучение диалекта SQL для конкретной СУБД (в твоем случае mysql). Ту просто мануал читать надо. Он на русский переведен (http://mysql.com/doc/ru/). Еще много хороших отзывов о книге
Поль Дюбуа "MySQL" (первое издание AFAIK устарело, вроде второе сейчас издается)
 - изучуние теории по проектированию баз данных. Самое популярная здесь книга
Крис Дейт "Введение в системы баз данных" (последнее издание - седьмое)

Навигация

[0] Главная страница сообщений

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии