Без более полной спецификации, мы просто догадываемся, что запрос пытается выполнить.
Одна из возможных интерпретаций требования: получить набор значений, которые существуют в столбце team
, вдольс набором значений, существующих в столбце team_2
, объединить все эти значения в один список, а затем исключить дубликаты из списка и получить количество строк с ненулевыми значениями ...
Чтобы удовлетворить это, мы могли бы сделать что-то вроде этого:
SELECT COUNT(v.team) AS cnt
FROM (
SELECT t1.team
FROM mytable t
WHERE t.status = 'Active'
UNION
SELECT t2.team_2
FROM mytable t2
WHERE t.status = 'Active'
) v
Обратите внимание, что оператор set UNION
заставит удалять дублирующиеся значения.Если мы добавим пятую строку ('Foo','Bar','','Active')
в таблицу, то мы ожидаем, что этот запрос вернет 4, потому что мы рассчитываем четыре различных значения ...
Существуют другие возможные интерпретации спецификации, и они будутне удовлетворены запросом выше.