У меня есть таблица, относящаяся к отзывам, сделанным человеком. Таблица содержит следующие поля: reviewId, PersonId, isComplete, где isComplete является логическим значением, указывающим завершен ли конкретный человек его обзор.Построить SQL-запрос, чтобы найти записи, имеющие все значения
Представьте себе следующие значения:
ReviewID | PersonID | isComplete |
1 1 1
2 1 1
3 2 0
4 2 0
5 3 1
6 3 0
В этом случае я должен получить только PersonID = 1 в результате, так как только они завершили все свои отзывы. Я пробовал много запросов, и ближайший из них: SELECT * FROM reviews x WHERE 1 = ALL (SELECT isComplete FROM reviews y WHERE x.personid = y.personid AND isComplete=1);
Любые предложения или подсказки будут очень признательны.
Подумайте об этом с точки зрения множеств. Вам нужен набор данных для всех людей и удалить из него набор людей, у которых хотя бы 1 обзор не завершен. – xQbert