Как объединить 3 таблицы в SQLite и получить диапазон дат итоговой таблицы с помощью groupby - PullRequest
0 голосов
/ 03 октября 2019

У меня есть 3 таблицы в SQLite:

Category_tbl:

      Id Name
      1    A
      2    B
      3    C


brand_tbl:

   RespondentId  CategoryId BrandId
             1           1     br1
             2           2     br2
             3           3     br3

resp_tbl:

   CategoryId  RespondentId       Date
           1             1  2019-01-02
           2             2  2019-01-03

Что я хотел бы сделать, так это внутреннее объединение всех 3 из них:

  • category_tbl с brand_tbl на Id и CategoryId соответственно

  • и result этого с rest_tbl на CategoryId и RespondentId

, а затем получить минимальное и максимальное Date на CategoryId и BrandId

Есть ли в SQLite аккуратный и компактный способ для этого?

Мой ожидаемый результат должен выглядеть следующим образом:

CategoryId  Name   BrandId max_date     min_date    
1            A         br1 2019-01-02   2019-01-02
2            B         br2 2019-01-03   2019-01-03

1 Ответ

1 голос
/ 03 октября 2019

Вы можете попробовать ниже -

    select a.categoryid,name,BrandId,min(Date) as min_date,max(date) as max_date
    from resp_tbl a 
       inner join brand_tbl b on a.categoryid=b.CategoryId and a.RespondentId=b.RespondentId
       inner join Category_tbl c on a.categoryid=c.id
    group by a.categoryid,name,BrandId
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...