У меня есть база данных, в которой указан номер детали по соответствующей группе моделей.Примерно половина деталей являются уникальными для модельной группы.Мне было интересно, есть ли способ выбрать только те номера деталей, которые являются уникальными для группы моделей.
Я нашел не элегантный обходной путь для проблемы со следующим кодом:
'''
Select Distinct
a.*
,b.count
from
(SELECT
[PART_NO]
,[Family]
FROM [dbo].[Mapping_Perkins_Parts_Series_Models] ) a
left join
(SELECT distinct
[PART_NO]
,count(part_no) as count
FROM [dbo].[Mapping_Perkins_Parts_Series_Models]
group by part_no ) b
on b.PART_NO = a.PART_NO
where count = 1
'' '
Мне интересно, возможно ли сделать это в одном операторе выбора, а не во вложенном операторе выбора?Проблема, с которой я продолжаю сталкиваться, заключается в том, что я должен включить все поля в мою группу, и как только я это сделаю, любые экземпляры детали, встречающиеся дважды, но с разными семействами, рассматриваются как уникальные записи.
'' '
Набор данных: (Part_No, семейство)
(1, a)
(1, b)
(2, a)
(3, b)
(4, a)
(4, b)
(5, b)
(6, a)
Ожидаемый результат: (Part_No, Family) (2, a) (3, b) (5, b) (6, a)