2011-12-27 1 views
1

Я хочу сделать запрос на мой стол, где я выбираю те строки, в которых я нашел один раз идентификатора клиентаКак выбрать строки, где я нашел один раз идентификатор клиента

Моей структуру таблицы выглядит следующим образом:

id , date_commande, id_customer 

Я не хочу, чтобы вернуть строки, если я нашел идентификатор клиента в два раза или более

пример данных:

id | date_commande | id_customer 
-------------------------------- 
01 | 2011-12-01 |  10 
02 | 2011-12-01 |  11 
03 | 2011-12-02 |  14 
04 | 2011-12-03 |  10 

Я хочу просто вернуть строку

id | date_commande | id_customer 
-------------------------------- 
02 | 2011-12-01 |  11 
03 | 2011-12-02 |  14 
+0

Вы можете предоставить некоторые данные образца и ожидаемый результат? – Taryn

+0

Какая версия оракула? – xQbert

ответ

1

Это слегка улучшенный вариант запроса, который предложил @Florin ..

Select ID, date_commande, ID_customer 
from table 
where ID_Customer in 
(Select ID_Customer from table Group by ID_Customer having count(*) = 1) 
+0

Согласен с добавленным комментарием Роберта и дал +1 к флорину. – xQbert

1

Спасибо за еще больше обратной связи, здесь вновь пересмотрено версии

SELECT id, date_commande,id_customer 
FROM (
    SELECT 
    MIN(id) as id, 
    MIN(date_commande) as date_commande, 
    MIN(id_customer) as id_customer, 
    COUNT(*) as numrows 
    FROM mytable 
    GROUP BY id_customer 
) 
WHERE numrows=1 
+0

не будет работать в оракуле. _Not группа по выражению –

+0

все еще нуждается в улучшении :) не группа по выражению –

+0

@FlorinGhita Спасибо, я бы подумал, что использовал это много раз, но похоже, что это никогда не было с Oracle. Пересмотрен мой SQL. –

4
select * 
from table 
where id_customer in 
(select id_customer 
    from table 
    group by id_customer 
    having count(*) = 1) 
+0

не будет работать в oracle. Не группа по выражению – Mercer

+0

Я просто запустил это в oracle 10g, отлично работал для меня. – xQbert

+0

Я тоже был уверен, что «с count (*) = 1» будет работать, но, возможно, это вещь Версии. –