2 разных соединения через 2 разных столбца - PullRequest
0 голосов
/ 25 марта 2020

В моей базе данных есть 2 таблицы, которые регистрируют, когда и какие элементы были добавлены в 2 разных списка. Они выглядят примерно так:

  • list1: id, время (метка времени), item_id (int4)
  • list2: id, время (метка времени), item_id (int4)

Элементы в каждом из списков могут появляться несколько раз (столько, сколько они были добавлены в список). Они приходят из набора предметов продажи (элемент может быть добавлен в оба списка).

С SQL (postgresql) Я хочу присоединиться к обоим спискам в день (дата, мне все равно о точном времени) и по каждому элементу (один и тот же item_id должен появляться только один раз в день, но они могут появиться снова на следующий день).

Я пробовал несколько типов объединения, но ничего не получалось! Как я мог это сделать?

Большое спасибо!

1 Ответ

0 голосов
/ 25 марта 2020

Почему вы используете две отдельные таблицы вместо одной таблицы со столбцом типа?

В любом случае используйте union all:

select time::date, item_id, count(*)
from ((select id, time, item_id, 1 as which
       from list1
      ) union all
      (select id, time, item_id, 2 as which
       from list2
      )
     ) l
group by time::date, item_id;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...