Я пишу стандартную программу, чтобы улучшить свои навыки программирования, и я столкнулся с препятствиями.
У меня есть две таблицы, с которыми я работаю:
**stocks**
---------
id
name
symbol
ipo_year
sector
industry
**stock_trends**
----------------
stock_id
trend_id
direction_id
date
price
breakout_price
**trends**
----------
id
type
Запись в таблицу stock_trends для этой акции выполняется при выполнении условия одного из четырех моих трендов.
Я хочу создать запрос, который будет возвращать всю информацию из таблицы запасов и дату из таблицы stock_trends, где самая последняя запись в stock_trends для этой акции - это trend_id, который мне интересен. в.
У меня есть этот запрос, который отлично работает, который возвращает самую последнюю тенденцию, если для одной акции.
SELECT top 1 stock_id, trend_id, [timestamp], price, breakout_price from stock_trends
WHERE stock_id = @stock_id and trend_id = @trend_id order by [timestamp] desc
Я просто не смог понять, как написать запрос, который возвращает акции, чья верхняя запись в таблице stock_trends - это тренд, который я хочу проанализировать.
Заранее спасибо за помощь!
Редактировать
Так что я добился определенного прогресса, и я почти на месте. Я использую этот запрос, чтобы вернуть максимальную «метку времени» (это действительно дата, просто нужно ее исправить) для каждой акции.
select s.*, v.latest_trend_date from stocks s
join(select stock_id, MAX(timestamp) as latest_trend_date from stock_trends st
group by st.stock_id) v on v.stock_id = s.id
Теперь, если бы я только мог найти способ определить, с каким трендом_id "latest_trend_date" связан, я был бы готов!