Можно ли объединить результаты двух отдельных (несвязанных) sql-запросов в одно представление. Я пытаюсь подвести некоторые цифры для пользователей и подсчитать просмотры видео в этом месяце для отображения на панели инструментов.

Т.е.

select count(*) from video where monthname(views) = 'May';

А также

select sum(sessions) from user where user_id = 6;

Я хотел бы создать представление, которое объединяет эти два результата.

Это возможно?

7
M Azam 16 Май 2014 в 21:07

1 ответ

Лучший ответ
SELECT t2.total_session,
       t1.watch_count
FROM
  (SELECT 1 AS common_key,
          count(*) AS watch_count
   FROM video
   WHERE monthname(views) = 'May') AS t1
JOIN
  (SELECT 1 AS common_key,
               sum(sessions) AS total_session
   FROM USER
   WHERE user_id = 6) AS t2 ON t1.common_key = t2.common_key;

Конечно, это будет очень эффективно только тогда, когда выходные данные как в t1, так и в t2 - одна строка.

7
thebignoob 16 Май 2014 в 17:13