У меня есть две простые таблицы
пользователи
+----+--------+-----------+
| id | gender | birthdate |
+----+--------+-----------+
userpreference
+----+------------------+-----------------+
| id | preference value | preference type |
+----+------------------+-----------------+
Вопрос:
Я хочу опросить всех людей, которые не перечислили конкретное значение предпочтения, например, «покупки». Сюда входят также все люди, которые не указали ни одного типа предпочтения, так что столбец может быть нулевым, однако, поскольку столбец пользовательской настройки «id» называет пользователей внешним ключом, я также хочу включить в свой подсчет всех людей, которые не отображаются во второй таблице (предпочтения пользователя)?
Общее количество людей, которые не имеют значения предпочтения «покупки» в качестве значения предпочтения:
Вот что я пробовал:
SELECT
(
SELECT COUNT(DISTINCT userpreference.id) FROM userpreference
WHERE preferencevalue != 'shopping')
+
(
SELECT COUNT(users.id)
FROM users
WHERE users.id NOT IN
(SELECT userpreference.Id
FROM userpreference )
)
AS'Total'