Я новичок оракула, в настоящее время я делаю вопрос, используя подзапрос (без JOIN) и обычный (с JOIN) запрос, но в конце результаты отличаются от этих двух запросов, я могуКто-нибудь знает эту проблему?
Вопрос состоит в том, чтобы узнать список владельцев собак, которые хотя бы дважды забронировали на этой платформе
SELECT PET_OWNER.Owner_id,Oname,OAdd,COUNT(*) AS BOOKING
FROM PET_OWNER
WHERE Owner_id IN(
SELECT Owner_id
FROM PET
WHERE PType = 'DOG' AND Pet_id IN(SELECT Pet_id FROM BOOKING))
GROUP BY PET_OWNER.Owner_id,Oname,OAdd
HAVING COUNT(*) >=2
ORDER BY PET_OWNER.Owner_id;
В этом подзапросе нет строквыбран,
SELECT PET_OWNER.Owner_id,Oname,OAdd,COUNT(*) AS BOOKING
FROM PET_OWNER,PET,BOOKING
WHERE PET_OWNER.Owner_id = PET.Owner_id AND
PET.Pet_id = BOOKING.Pet_id AND
PType = 'DOG'
GROUP BY PET_OWNER.Owner_id,Oname,OAdd
HAVING COUNT(*) >=2
ORDER BY PET_OWNER.Owner_id;
этот запрос показывает 10 записей, которые являются правильным ответом на этот вопрос
Я ожидал, что эти два запроса получат одинаковый результат, но никто не знает, что эточто-то не так?
Может кто-нибудь показать мне, как преобразовать этот код в подзапрос?