объединение двух таблиц с группировкой в ​​sql - PullRequest
0 голосов
/ 18 марта 2020

Здравствуйте, я пытаюсь объединить эти две таблицы, но не могу. у меня есть данные отдельно, но, к сожалению, я не могу присоединиться к ним, так как в таблице № 2 есть оператор группировки по, который немного усложняет объединение.

таблица № 1; - включает в себя все данные

SELECT i.attr,iv.dateofvalue,iv.price 
FROM information i, informationvalues iv
WHERE i.attr=iv.attr;

таблица №2; - включает в себя только последние данные, исключая цену

SELECT i.attr, MAX (iv.dateofvalue) AS recentdate
FROM information i, informationvalues iv
 WHERE i.attr=iv.attr 
 GROUP BY i.attr;

Цель состоит в том, чтобы расширить tablenr 2 соответствующей ценой, получая его из таблицы № 1. ПРИМЕЧАНИЕ: latestdate = dateofvalue Надеюсь, что кто-то может помочь, заранее спасибо !

1 Ответ

1 голос
/ 18 марта 2020

Вы, похоже, хотите получить самую последнюю цену за атрибут. Если это так, вы можете выполнить фильтрацию с помощью коррелированного подзапроса, в котором указана последняя дата для каждого атрибута:

select 
    i.attr,
    v.dateofvalue,
    v.price
from information i
inner join informationvalues v on v.attr = i.attr
where v.dateofvalue = (
    select max(v1.dateofvalue) from informationvalues v1 where v1.attr = v.attr
)
...