Добавление содержимого столбца в запросе SQL Union

StackOverflow https://stackoverflow.com/questions/4046278

  •  27-09-2019
  •  | 
  •  

Вопрос

До сих пор у меня есть этот запрос

SELECT
    COUNT(f.code_id) as item_count, 
    f.code_desc
FROM 
    foo f
    INNER JOIN foohistory fh ON f.history_id = fh.history_id
WHERE
    MONTH(fh.create_dt) = 6
    AND YEAR(fh.create_dr) = 2010
GROUP BY 
    f.code_desc

    UNION ALL

SELECT
    COUNT(b.code_id) as item_count, 
    b.code_desc
FROM 
    bar b
    INNER JOIN barhistory bh ON b.history_id = bh.history_id
WHERE
    MONTH(bh.create_dt) = 6
    AND YEAR(bh.create_dr) = 2010
GROUP BY 
    b.code_desc

Моя цель состоит в том, чтобы объединить эти два запроса Добавить сумму «Item_Count» столбцов Foreach Code_Desc. Это возможно?

Это было полезно?

Решение

Без больше информации о кодах, вроде бы, если это возможно, что коды взаимоисключают между двумя таблицами, используют:

SELECT x.code_desc,
       SUM(x.item_count)
 FROM (SELECT f.code_desc,
              COUNT(f.code_id) as item_count
         FROM foo f
         JOIN foohistory fh ON f.history_id = fh.history_id
        WHERE MONTH(fh.create_dt) = 6
          AND YEAR(fh.create_dr) = 2010
     GROUP BY f.code_desc
       UNION ALL
       SELECT b.code_desc,
              COUNT(b.code_id) as item_count    
         FROM bar b
         JOIN barhistory bh ON b.history_id = bh.history_id
        WHERE MONTH(bh.create_dt) = 6
          AND YEAR(bh.create_dr) = 2010
     GROUP BY b.code_desc) x
GROUP BY x.code_desc

Другие советы

Да, делать что-то вроде этого

SELECT Sum(unionedTable.item_count)
FROM 
(
//your query 


) as unionedTable
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top