MySQL выберите проблему с наличием и/или гдеMySql

Форум по Mysql
Ответить Пред. темаСлед. тема
Anonymous
 MySQL выберите проблему с наличием и/или где

Сообщение Anonymous »

У меня есть 3 таблицы:
  • patrimoine_instruments(instrument_id, Instrument, Instrument_ISIN)
  • patrimoine_transactions(transaction_id, Instrument , количество, значение)
  • quote(quote, quote_ISIN, close_datetime, последнее)
I пытаюсь получить портфель на сегодняшний день:
  • перечисляю все инструменты, для которых количество не равно 0
  • с их соответствующим количеством на сегодняшний день для каждого инструмента.
  • с их самым последним значением из таблицы котировок для каждого инструмента.
  • с самой последней датой от таблица котировок для каждого инструмента
Ниже SELECT запрос работает нормально, если в таблице котировок есть данные только для 1 инструмента:
SELECT
patrimoine_instruments.`instrument` as actif,
SUM(DISTINCT patrimoine_transactions.`quantite`) as quantite,
(SELECT quote.last FROM quote HAVING quote.close_datetime = MAX(quote.close_datetime)) as valeur,
MAX(quote.close_datetime) as date
FROM `patrimoine_transactions`
LEFT JOIN patrimoine_instruments ON patrimoine_transactions.instrument = patrimoine_instruments.instrument_id
LEFT JOIN quote ON patrimoine_instruments.instrument_ISIN = quote.quote_ISIN
GROUP BY patrimoine_instruments.`instrument`
HAVING SUM(`quantite`) 0
ORDER BY `patrimoine_instruments`.`instrument` ASC;
< /code>
, но в случае, если в таблице есть данные для более чем 1 инструмента, возвращаемые данные неверны, когда они возвращаются. пример). У кого -нибудь есть идея? < /P>
Вот репликация базы данных и запроса. Но обратите внимание, что я получаю сообщение об ошибке, которое я не получаю, использую свой веб -сайт. Интересно, что это связано с столбцом, который возвращает неправильные значения.>

Подробнее здесь: https://stackoverflow.com/questions/793 ... d-or-where
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «MySql»