Объединить вложенный запрос с другим результатом в SQLite - PullRequest
0 голосов
/ 05 марта 2020

У меня есть два набора запросов:

SELECT 
  t.series_name, 
  ti.num_views_per_telecast 
FROM 
  (
    SELECT 
      ti.telecast_id, 
      ti.network_id, 
      count(*) as num_views_per_telecast 
    FROM 
      tunein AS ti 
      INNER JOIN affiliates AS a ON ti.network_id = a.network_id 
    WHERE 
      ti.dvr_time_shift = 'L+SD' 
      and a.network_name = 'ABC' 
    group by 
      ti.telecast_id, 
      ti.network_id
  ) ti 
  inner join telecast AS t On t.telecast_id = ti.telecast_id 
ORDER BY 
  ti.num_views_per_telecast DESC

И

select 
  distinct * 
from 
  telecast 
where 
  episode_name = 'friday night dinner' 
  and series_name = 'A Million Little Things' 
  and date(program_start_local) = '2018-10-17'

Я хочу иметь возможность объединить два, чтобы я мог получить num_views_per_telecast для эпизодов в нижний запрос. Не совсем уверен, как бы я внутренне соединил их, хотя я мог бы сохранить результаты первого набора запросов.

Как таблицы связаны ниже:

enter image description here

Как бы я это соединил ???

1 Ответ

2 голосов
/ 05 марта 2020

По предположению:

SELECT 
  t.*,
  ti.num_views_per_telecast
FROM
  (
    SELECT 
      ti.telecast_id,
      ti.network_id,
      count(*) as num_views_per_telecast
    FROM
      tunein AS ti
      INNER JOIN
      affiliates AS a
      ON
        ti.network_id = a.network_id
      WHERE
        ti.dvr_time_shift = 'L+SD' and 
        a.network_name = 'ABC'
      group by
        ti.telecast_id,
        ti.network_id
  )ti
  inner join telecast AS t
  On 
    t.telecast_id = ti.telecast_id

  --from query2
  where 
    t.episode_name = 'friday night dinner'
    and t.series_name = 'A Million Little Things'
    and t.date(program_start_local) = '2018-10-17'


  ORDER BY ti.num_views_per_telecast DESC


По причинам, указанным в комментарии, DISTINCT является избыточным, поэтому вы, похоже, хотите, чтобы все строки из телепередачи соответствовали некоторым критериям. Учитывая, что ваш первый запрос содержит телепередачу, но без каких-либо критериев, и вы выбираете из нее только один столбец, объединение двух является случаем увеличения числа столбцов, выбранных для (все из телепередачи) плюс все остальное, и добавления предложения where из запроса 2 для ограничения строк в запросе 1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...