Как построить этот запрос - PullRequest
1 голос
/ 23 июля 2011

У меня есть 2 следующих запроса:

ВЫБРАТЬ CARD_ID, COUNT (CARD_ID) AS CNT1 ОТ G_CARD_SCHEDULE GROUP BY CARD_ID

Кто выводит

CARD_ID     CNT1
119         1
120         2

ВЫБРАТЬ CARD_ID, COUNT (CARD_ID) AS CNT2 ОТ G_SENT_TABLE GROUP BY CARD_ID

Кто выводит

CARD_ID     CNT2
115         2
120         1

Теперь мой запрос должен выводиться с использованием этих 2

CARD_ID     CNT2
120         3
115         2
119         1

Так что в основном я должен получить сумму из них через отсортированный идентификатор. Как мне это сделать?

Ответы [ 3 ]

2 голосов
/ 23 июля 2011
  SELECT CARD_ID,
         COUNT(*) cnt
    FROM (SELECT card_id 
            FROM G_CARD_SCHEDULE
          UNION ALL
          SELECT card_id
            FROM G_SENT_TABLE) x
GROUP BY card_id
ORDER BY cnt DESC
2 голосов
/ 23 июля 2011
select card_id,count(card_id) as cnt2 from (
SELECT CARD_ID FROM G_CARD_SCHEDULE 
union all
SELECT CARD_ID FROM G_SENT_TABLE) as t
group by card_id
order by cnt2 desc
0 голосов
/ 23 июля 2011

А как же:

SELECT CARD_ID, COUNT(CARD_ID) FROM 
      (SELECT CARD_ID FROM G_CARD_SECHEDULE 
   UNION ALL 
       SELECT CARD_ID FROM G_SENT_TABLE)
   AS G_CARD_UNION GROUP BY CARD_ID;

... это то, что вы хотели?

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