Я пытаюсь создать представление, где я могу видеть имена арендаторов и сколько раз они посещали из таблицы транзакций. В первом примере я все время получаю сообщение об ошибке "Подзапрос возвращает более 1 строки". Второй пример дает мне идентификатор арендаторов и время посещения.
SELECT first_name, last_name,
(SELECT COUNT(renter_id)
FROM transactions
GROUP BY renter_id
) AS visited
FROM renters
WHERE renter_id IN (SELECT renter_id
FROM transactions
GROUP BY renter_id
having COUNT(renter_id) > 2
);
SELECT renter_id, COUNT(renter_id) AS visited
FROM transactions
GROUP BY renter_id
having COUNT(renter_id) > 2;
Вы ищете JOIN
. Запрос выглядит так:
SELECT r.first_name, r.last_name, COUNT(*) AS num_visits
FROM transactions t JOIN
renters r
ON t.renter_id = r.renter_id
GROUP BY r.first_name, r.last_name
HAVING COUNT(*) > 2;