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




MySQL.RU - Webboard



Вернуться
Проблема с LEFT, возможно ли такое... (Eugene) 16/09/2008 - 22:07:11
      Re: Проблема с LEFT, возможно ли такое... (bac) 16/09/2008 - 23:21:30
      Re: Проблема с LEFT, возможно ли такое... (Eugene) 17/09/2008 - 00:25:54



From: Eugene - 16/09/2008 - 22:07:11
Subject:Проблема с LEFT, возможно ли такое...
-----------------
MySQL 5

Имеем две таблицы:

mysql> select * from users;
+----+--------+
| id | name |
+----+--------+
| 1 | Eugene |
| 2 | John |
| 3 | Ben |
| 4 | Erick |
+----+--------+
4 rows in set (0.00 sec)

mysql> select * from finance;
+----+---------+-----+------+
| id | user_id | day | cost |
+----+---------+-----+------+
| 1 | 1 | 1 | 20 |
| 2 | 1 | 2 | 35 |
| 3 | 2 | 1 | 10 |
| 4 | 3 | 1 | 15 |
+----+---------+-----+------+
4 rows in set (0.00 sec)


mysql> select users.*, sum(finance.cost) as cost from users left join finance on
users.id=finance.user_id group by users.id;
+----+--------+------+
| id | name | cost |
+----+--------+------+
| 1 | Eugene | 55 |
| 2 | John | 10 |
| 3 | Ben | 15 |
| 4 | Erick | NULL |
+----+--------+------+
4 rows in set (0.00 sec)



mysql> select users.*, sum(finance.cost) as cost from users left join finance on
users.id=finance.user_id where day > 2 group by users.id;
Empty set (0.00 sec)


Запрос (выше) делает, то что надо, но когда я добавляю условие, получаю пусту выборку а нужно:

+----+--------+------+
| id | name | cost |
+----+--------+------+
| 1 | Eugene | NULL |
| 2 | John | NULL |
| 3 | Ben | NULL |
| 4 | Erick | NULL |
+----+--------+------+
4 rows in set (0.00 sec)

Т.е. нужно чтобы условие выполнилось только для таблицы finance и только потом результат присоединился к users


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

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

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



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