Q:

COUNT по 2 таблицам

Есть две таблицы t1 и t2. 
В t1 находятся данные по вип-картам клиентов
В t2 обычные карты.
Структура таблиц одинакова и имеет такие столбцы
REP_CLID (bigint)- ид клиента
REP_REF  (varchar(255))- референс договора карты
REP_STAT (varchar(20)) - текущий статус договора
DATE_START (date) - дата старта договора
DATE_END (date) - дата окончания договора
считать что в REP_REF только уникальные значения
Задача: 
Написать sql скрипт, который выводит кол-во карт (вип+ обычные)  в разрезе каждого статуса карт.
 То есть :
REP_STAT..............Num_card
закрыт ..............   10
открыт ..............    8
расторгнут ..........    17

При таком моём запросе:
SELECT REP_STAT, COUNT(REP_STAT) 
FROM (
    SELECT 
       REP_STAT 
    FROM t1  
    UNION ALL 
    SELECT 
       REP_STAT 
    FROM t2
) 
ORDER BY REP_STAT;

появляется ошибка:
ERROR 1248 (42000): Every derived table must have its own alias

Буду признателен, если укажите на ошибку.

A:

Каждая таблица, доставляемая подзапросом, должна иметь алиас
SELECT t.REP_STAT, COUNT(t.REP_STAT) 
FROM (
    SELECT 
       REP_STAT 
    FROM t1  
    UNION ALL 
    SELECT 
       REP_STAT 
    FROM t2
) as t
ORDER BY t.REP_STAT;

