







|
MySQL.RU - Webboard
Вернуться
Хм. Очередные траблы с JOIN! (laserjump) 04/12/2001 - 13:45:12
Re: Хм. Очередные траблы с JOIN! (walrus) 04/12/2001 - 14:16:31
Re: Хм. Очередные траблы с JOIN! (laserjump) 04/12/2001 - 14:37:22
Re: Хм. Очередные траблы с JOIN! (walrus) 04/12/2001 - 15:08:45
Re: Хм. Очередные траблы с JOIN (Anonymous) 04/12/2001 - 19:57:25
From: laserjump - 04/12/2001 - 13:45:12
Subject:Хм. Очередные траблы с JOIN!
-----------------
Делаю так:
---------------------------------------------------------------
SELECT
a.IdClient,
IF(((b.DollarRemains >= 0.0) OR (a.NoTimeExceed=1)), b.RubRemains, 0) AS SumRub,
IF(((b.DollarRemains >= 0.0) OR (a.NoTimeExceed=1)), b.DollarRemains, 0) AS SumUSD
FROM Clients a LEFT JOIN MonthRemains b USING (IdClient)
WHERE (((MONTH(b.BeginMonthDate) = 11) AND (YEAR(b.BeginMonthDate) = 2001)) OR (b.IdClient is Null));
---------------------------------------------------------------
получаю в ответ 148 записей (в таблице Clients - 160 и нужно в результате получить именно 160 записей)
Если делаю по другому
---------------------------------------------------------------
INSERT INTO TempTable1
SELECT
IdClient,
RubRemains AS SumRub,
DollarRemains AS SumUSD
FROM MonthRemains
WHERE (((MONTH(BeginMonthDate) = 11) AND (YEAR(BeginMonthDate) = 2001)));
SELECT
a.IdClient,
IF(((b.SumUSD >= 0.0) OR (a.NoTimeExceed=1)), b.SumRub, 0) AS SumRub,
IF(((b.SumUSD >= 0.0) OR (a.NoTimeExceed=1)), b.SumUSD, 0) AS SumUSD
FROM Clients a LEFT JOIN TempTable1 b USING (IdClient);
---------------------------------------------------------------
Получаю 160 записей, как и положено
В чем грабли? Почему не работает первый вариант запросом?
Заранее благодарен всем откликнувшимся.
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
1017
|
|