Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Помогите написать запрос пожалуйста (Саринита) 26/10/2008 - 21:41:30
      Re: Помогите написать запрос пожалуйста (bac) 26/10/2008 - 23:37:20
      Re: Помогите написать запрос пожалуйста (w2w) 05/11/2008 - 00:38:20

> Original message text:
> From: Саринита - 26/10/2008 - 21:41:30
> Subject:Помогите написать запрос пожалуйста
> -----------------
> Народ, я в MYSQL Не сильна мягко говоря, а очень нужно прикрутить к одной базе запросик. Помогите пожалуйста, я знаю что грамотным это на 5 минуток.
>
> есть следующие таблицы:
>
> 1) Users. Поля (значимые) user_id, username
> 2) Members Поля (значимые) member_id, member_name, member_earned, member_spend
> 3) member_user поля user_id (из 1) и member_id (из второй)
>
> Вобщем каждому юзеру принадлежит несколько мемберов.
>
> Надо чтобы запрос посчитал sum(member_earned) - sum(member_spend) по всем мемберам для каждого юзера и выдал общую цифру -
>
> Юзер 1 итог 000
> Юзер2 итог 000
>
> И т.д. рассортировав по алфавиту по полю username.
>
> Нарисуйте плиз -)))
>
>
>


From: bac - 26/10/2008 - 23:37:20
Subject:Помогите написать запрос пожалуйста
-----------------
CREATE TABLE Users (
user_id INTEGER AUTO_INCREMENT PRIMARY KEY,
user_name VARCHAR(30)
);

INSERT INTO Users (user_name) VALUES
('Яковлев'),('Иванов'),('Сергеев'),('Озеров'),('Петренко'),('Антипин');

CREATE TABLE Members (
member_id INTEGER AUTO_INCREMENT PRIMARY KEY,
member_name VARCHAR(30),
member_earned DECIMAL(10,2),
member_spend DECIMAL(10,2)
);
INSERT INTO Members (member_name, member_earned,member_spend ) VALUES
('1-1',10,5), ('2-1',20,10), ('3-1',30,10),('4-1',40,10),('5-2',50,0),('6-3',0.1,0.05),('7-4',0.2,0.05),('8-4',0.3,0.05),('9-5',10,20),('10-5',10,30),('11-5',10,40);

CREATE TABLE member_user (
user_id INTEGER,
member_id INTEGER,
PRIMARY KEY (user_id, member_id)
);

INSERT INTO member_user VALUES
(1,1), (1,2),(1,3),(1,4),(2,5),(3,6),(4,7),(4,8),(5,9),(5,10),(5,11);

SELECT user_name, sum(member_earned) - sum(member_spend) total
FROM Users
LEFT JOIN
(
SELECT user_id, member_earned, member_spend
FROM member_user
INNER JOIN
Members
USING (member_id)
) S
USING (user_id)
GROUP BY Users.user_id
ORDER BY user_name;


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
34436



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |