SQL слияние нумерации, если строка такая же - PullRequest
0 голосов
/ 12 июля 2020

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

Мой запрос:

SELECT * FROM (
  SELECT dj_1, count(*) AS uren 
  FROM dj_rooster 
  WHERE week = '28' GROUP BY id_1 
  ORDER BY count(*) DESC
) x
UNION ALL
SELECT * FROM (
  SELECT dj_1, count(*) AS uren 
  FROM djpaneel_shows_uren 
  WHERE week = '28' AND active = '1' 
  GROUP BY dj_1 
  ORDER BY count(*) DESC
) x

Мои результаты:

Jack - 7
Jeremy - 5
Jack - 1

Заранее спасибо за вашу помощь

1 Ответ

0 голосов
/ 12 июля 2020

Нет необходимости агрегировать дважды и более. Используйте UNION ALL, чтобы получить все строки из двух таблиц, а затем объедините:

SELECT t.dj_1, COUNT(*) AS uren 
FROM (
  SELECT dj_1 FROM dj_rooster 
  WHERE week = '28' 
  UNION ALL 
  SELECT dj_1 FROM djpaneel_shows_uren 
  WHERE week = '28' AND active = '1' 
) t
GROUP BY t.dj_1 
ORDER BY uren DESC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...