Нет, ваш запрос найдет строки в подсвечиваниях, которые имеют действительный pimp_id
И правильный prostitute_id
.
Вы уверены, что вам нужно присоединиться? Может ли таблица snitchings
иметь недопустимые значения в prostitute_id
или pimp_id
? Иначе это сработает:
SELECT COUNT(*) as snitch_count
FROM snitchings
WHERE snitches.prostitute_id IS NOT NULL OR snitches.pimp_id IS NOT NULL
Если вам нужно объединение, и оба являются эксклюзивными (либо стукач - проститутка, либо сутенер), это должно сработать:
SELECT COUNT(*) as snitch_count
FROM snitchings
LEFT JOIN pimps ON pimps.pimp_id=snitches.pimp_id
LEFT JOIN prostitutes ON prostitutes.prostitute_id=snitches.prostitute_id
WHERE snitchings.case_id=4538 AND
(pimps.pimp_id IS NOT NULL OR prostitutes.prostitute_id IS NOT NULL)
Иначе, вам нужно посчитать их отдельно (но вы можете UNION и SUM, если вы действительно хотите:
SELECT COUNT(*) as snitch_count
FROM snitchings
JOIN pimps ON pimps.pimp_id=snitches.pimp_id
WHERE snitchings.case_id=4538;
SELECT COUNT(*) as snitch_count
FROM snitchings
JOIN prostitutes ON prostitutes.prostitute_id=snitches.prostitute_id
WHERE snitchings.case_id=4538;