Этого также можно добиться с помощью агрегации, например ::100100
SELECT a.Manufacturer
FROM Table1 a
GROUP BY a.Manufacturer
HAVING
MIN(a.[Device type]) = MAX(a.[Device type]) AND
MIN(a.[Device type]) = 'Tablet'
Вышеприведенное подтверждает, что Производитель производит только один Тип устройства, проверяя, равен ли минимум (в смысле порядка сортировки - см. здесь ) Типа устройства максимум Тип устройства, а затем выберите те, у которых минимум Tablet
.
Или с вложенной агрегацией, например ::11014
SELECT DISTINCT c.Manufacturer
FROM
Table1 c INNER JOIN
(
SELECT b.Manufacturer
FROM
(
SELECT a.Manufacturer, a.[Device type]
FROM Table1 a
GROUP BY a.Manufacturer, a.[Device type]
) b
GROUP BY b.Manufacturer
HAVING COUNT(*) = 1
) d
ON c.Manufacturer = d.Manufacturer
WHERE
c.[Device type] = 'Tablet'
Здесь самый внутренний вложенный запрос выбирает производителей и типы устройств, которые они производят, из которых выбираются производители, которые производят только один тип устройства. Результат этого затем INNER JOIN
передается в исходную таблицу, чтобы можно было выбрать тип устройства.
Замените Table1
именем вашей таблицы.