У меня есть следующие таблицыSQL: Получение неявных оценок в виде списка пользователя элемента
- стол пользователя
user
сid
полем - таблицу элементов
item
, а также с полем идентификатора - таблицу
positiverating
с полямиcustomerid
иitemid
, у которых есть запись, если пользователь дал неявный положительный рейтинг для товара (например, видел/купил/нажал/... он)
Я хочу, чтобы выбрать поля user.id
, item.id
и rating
(логическое поле), что для каждого пользователя и каждый элемент rating
является true
IIF существует запись в таблице positiverating
и в противном случае false
?
Некоторые мысли:
SELECT user.id, item.id from user, item
Результаты в поперечном продукте необходимого.positiveratings
более или менее такой продукт креста, но только для номинальных элементов
Предполагая, что есть 100000 пунктов и такое же количество пользователей, результирующий запрос должен быть достаточно эффективно. Я подозреваю, что нужны левые/правые соединения, но я чувствую себя немного застрявшим.
Чтобы быть более конкретным, мне нужен запрос для PostgreSQL.
Выглядит отлично. Что делать, если в позиционировании есть дубликаты? Пользователь может посещать/покупать товар более одного раза. Может, считать это? – user3001