Я знаю, что название этого вопроса немного сбивает с толку, так что терпите меня. :)
У меня есть база данных (MySQL) с записью Person
. A Person
также имеет поле слизняка. К сожалению, слаговые поля не являются уникальными. Существует несколько повторяющихся записей, то есть записи имеют разные идентификаторы, но с одинаковыми именем, фамилией и слагом. Person
также может содержать 0 или более связанных статей, записей блогов и эпизодов подкастов.
Если это сбивает с толку, вот схема структуры:
альтернативный текст http://mipadi.cbstaff.com/images/misc/people_db.jpg
Я хотел бы составить список записей, соответствующих этому критерию: дубликаты записей (т. Е. Одно и то же поле слагов) для людей, у которых также есть хотя бы 1 статья, запись в блоге или эпизод подкаста.
У меня есть SQL-запрос, в котором будут перечислены все записи с одинаковыми полями слагов:
SELECT
id,
first_name,
last_name,
slug,
COUNT(slug) AS person_records
FROM
people_person
GROUP BY
slug
HAVING
(COUNT(slug) > 1)
ORDER BY
last_name, first_name, id;
Но сюда входят записи для людей, у которых может не быть хотя бы 1 статьи, записи в блоге или подкаста. Могу ли я настроить это, чтобы соответствовать вторым критериям?
Edit:
Я обновил диаграмму базы данных, чтобы упростить ее и сделать более понятным, что я делаю. (Обратите внимание, что некоторые имена таблиц БД изменились - раньше я пытался взглянуть на структуру более высокого уровня, но это было немного неясно.)