Счетчик SQL с разными и соответствующими двумя разными таблицами
У меня есть table1 и table2, и я пытаюсь подсчитать общее количество уникальных совпадений между ними для определенного столбца в каждом.
select count (distinct phone1) from table1,table2 where table1.phone1=table2.phone2;
Я думаю, что я довольно близок, но я получаю синтаксическую ошибку. Я использую различные, чтобы получить только уникальные совпадения, так как есть несколько повторяющихся совпадений.
Спасибо!
2 ответа
Ваш запрос выглядит правильно, вам просто нужно убрать пробел между счетчиком и открывающей скобкой, т.е. count(x)
не count (x)
Попробуй это:
SELECT COUNT(phone)
FROM (
SELECT phone1 AS phone
FROM table1
UNION
SELECT phone2
FROM table2
) a
UNION удалит дублирующиеся результаты, а затем вы просто УЧИТЫВАЕТЕ полученные записи.
Из документов:
UNION используется для объединения результатов нескольких операторов SELECT в один набор результатов.
Поведение по умолчанию для UNION состоит в том, что повторяющиеся строки удаляются из результата.
РЕДАКТИРОВАТЬ
Я неправильно понял вопрос. Я думал, ты хотел посчитать все разные числа.
Для этого ваш запрос был в значительной степени хорошо, начиная с пробела между COUNT и (