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




MySQL.RU - Webboard



Вернуться
проблема с INNER JOIN (Ultras) 24/08/2011 - 03:13:46
      Re: проблема с INNER JOIN (Ultras) 24/08/2011 - 03:40:30
      Re: проблема с INNER JOIN (Akina) 24/08/2011 - 19:59:58
      Re: проблема с INNER JOIN (Ultras) 25/08/2011 - 13:12:50

> Original message text:
> From: Ultras - 24/08/2011 - 03:13:46
> Subject:проблема с INNER JOIN
> -----------------
> люди добрый, помогите кто чем может, такая вот проблема, есть запрос:
> SELECT
> t.transaction_id,
> SUM(tl.usd_value)
> FROM
> transactions t
> INNER JOIN transaction_lines tl ON (tl.transaction_id = t.transaction_id)
> INNER JOIN transaction_history th ON (th.transaction_id = t.transaction_id)
> WHERE
> (t.transaction_id = 282977) AND
> th.action_status IN (1,2,3)
> GROUP BY t.transaction_id
>
> где: transactions - таблица транзакций, пускай у нас там одна запись с ID 282977, transaction_lines - это линии валют, которые прошли в транзакции, пускай там то же одна валюта (где usd_value = 100), transaction_history - таблица изменения статусов транзакций, пускай там будет 5 изменений данной транзакции. Проблема в том, что на выходе SUM(tl.usd_value) увеличивается в 3 раза (SUM(usd_value) = 300 на выходе), то есть ровно во столько, сколько записей в transaction_history (action_status в transaction_history - это статусы которые были у транзакции, если хоть один статус есть, то SUM(usd_value) должен быть 100 и не умножатся на кол-во найденных статусов. Не пойму как сделать так, что бы transaction_history возвращало одну запись, что-то типо DISTINCT для INNER JOIN.
>
> Помогите кто чем сможет.
> P.S.: заранее спасибо.
>


From: Ultras - 24/08/2011 - 03:40:30
Subject:проблема с INNER JOIN
-----------------
временно нашел такое решение:
SELECT
t.transaction_id,
SELECT SUM(usd_value) FROM transaction_lines WHERE transaction_id = t.transaction_id) AS usd_value
........

но если есть более лучший способ, подскажите пожалуйста...


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

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

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



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