2014-11-13 4 views
0

Образец данных:Выберите уникальную комбинацию из двух столбцов

ProductID PackingID 
-------  --------- 
1   2 
1   2 
3   2 
3   2 
1   1 
2   1 
3   2 

У меня есть вышеуказанные данные примеры. Я хочу выбрать уникальные (не отдельные) строки комбинации productID и packingID. В приведенном выше примере только соответствующие результаты

Эти строки единственные уникальные комбинации ProductID и PackingID вместе. Мне не нужны результаты Distinct, потому что это даст мне одну из всех других комбинаций.

ответ

0
SELECT PRODUCTID,PACKINGID FROM DTEMP 
GROUP BY PRODUCTID,PACKINGID 
HAVING COUNT(PRODUCTID)=1 
ORDER BY 1; 

Вы можете попробовать это это, как я делаю в оракула ... чтобы получить уникальные строки без используя различный.

+1

Отлично! Кажется, это работает! – Berthz

0

ваш стол должен быть как:

uniqueID ProductID PackingID 
    1   x   y 
    2   x   y 
    3   z   x 

Запрос:

SELECT uniqueID,ProductID,PackingID 
FROM yourtable 
WHERE uniqueID IN 
(
    SELECT MIN(uniqueID) 
    FROM yourtable 
    GROUP BY ProductID,PackingID 
) 
2
SELECT ProductID, PackingID 
FROM yourtable 
GROUP BY ProductID, PackingID 
HAVING COUNT(*) = 1 
+0

Ничего себе, я так лишен сна, что даже не думал об этом –