|
MySQL.RU - Webboard
Вернуться
Помогите разобраться с JOIN (LaserJump) 13/11/2001 - 15:37:26
Re: Помогите разобраться с JOIN (Василий) 13/11/2001 - 16:43:48
Re: Помогите разобраться с JOIN (dannis) 13/11/2001 - 17:07:48
Re: Вот (+) (Василий) 13/11/2001 - 21:07:00
Re: Спасибо за помощь (LaserJump) 15/11/2001 - 14:37:46
> Original message text:
> From: LaserJump - 13/11/2001 - 15:37:26
> Subject:Помогите разобраться с JOIN
> -----------------
> Есть таблица-справочник по клиентам
> Clients (int IdClient, str Name...)
> Есть таблица с платежами клиентов
> Payments (int IdClient, date , rubpay...)
>
> Нужно отобрать суммарные платежи клиентов за конкретный месяц, причем если платежей от клиента не поступало нужно чтобы в результат отбора попали нулевые платежи, т.е. в результате нужно получить столько же записей, сколько есть клиентов.
>
> Пытаюсь делать так:
> SELECT b.IdClient, SUM(b.rubpay)
> FROM Clients a LEFT JOIN Payments b ON (a.IdClient=b.IdClient)
> WHERE ((MONTH(date) = 11)
> AND (YEAR(date) = 2001))
> GROUP BY b.IdClient;
>
> Получаю только суммарные платежи для клиентов, у которых платежи были =(
> Подскажите в чем собака порылась?
>
From: dannis - 13/11/2001 - 17:07:48
Subject:Помогите разобраться с JOIN
-----------------
Не-а.
Выборка происходит после соединения, поэтому Null-значений не будет.
У меня заработало так:
SELECT t1.IdClient,SUM(rubpay)/3
FROM Clients t1 NATURAL JOIN Payments
RIGHT JOIN Clients t2 ON (MONTH(date)=11 AND YEAR(date)=2001)
WHERE t1.IdClient=t1.IdClient GROUP BY t1.IdClient;
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
796
|
|