Мудрое свидание ПРИСОЕДИНЯЙТЕСЬ к проблеме создания улья - PullRequest
0 голосов
/ 12 января 2019

Мне нужно объединить две таблицы на основе следующего условия. мой стол А выглядит как

  id,date
  12,20190114
  13,20190118
  14,20190123

Таблица B выглядит как

  id,date
  13,20190108
  12,20190108
  13,20190101
  13,20190115
  14,20190129
  14,20190122

когда я применяю условие присоединения, мне нужно учитывать следующее

   1. id should be same for both tables
   2. date from table A should join with the date previous to the table B
    dates(table B dates are weekly basis... I need to find the current week). 

То есть даты таблицы B являются недельными датами. например, для таблицы с идентификатором = 13 дата A - 20190118, а соответствующая дата из таблицы B - 20180115, то есть текущая неделя, в которой таблица A является частью ...

мой результат после JOIN должен быть таким, как

  id,a.date,b.date
  13,20190118,2018015
  12,20190114,20190108
  14,20190123,20190122

Может кто-нибудь сказать мне, как добиться этого в улье

1 Ответ

0 голосов
/ 12 января 2019

Это работает в Hive?

select a.id, a.date, max(b.date)
from a join
     b
     on a.id = b.id and b.date <= a.date
group by a.id, a.date;

Здесь - это скрипта db <>, показывающая, что он работает с данными, хотя и в Postgres.

...