про уникальность
От: Roman Pushkin Россия  
Дата: 26.10.05 11:01
Оценка:
К приемру, есть набор:

(item, client_id)

A, 1
B, 2
A, 1
C, 3
D, 3

необходимо чтобы не было повторяющихся item'ов и client_id

select distinct item, client_id from blabla


но так появляются повторяющиеся client_id, нужно чтобы их тоже не было, даже если это будет ущербным для item


PS использую MS SQL
.
Re: про уникальность
От: stasukas  
Дата: 26.10.05 11:23
Оценка:
Здравствуйте, Roman Pushkin, Вы писали:

RP>К приемру, есть набор:


RP>(item, client_id)


RP>A, 1

RP>B, 2
RP>A, 1
RP>C, 3
RP>D, 3

RP>необходимо чтобы не было повторяющихся item'ов и client_id


RP>
select distinct item, client_id from blabla


RP>но так появляются повторяющиеся client_id, нужно чтобы их тоже не было, даже если это будет ущербным для item


Наверное так, но лучше результирующий набор показать, чтоб легче было понять:
SELECT
    (SELECT     TOP 1 b.item
        FROM          blabla b
        WHERE      a.client_id = b.client_id) AS item, 
    client_id
FROM 
    (SELECT     item,
        (SELECT     TOP 1 b.client_id
            FROM          blabla b
            WHERE      a.item = b.item) AS client_id
        FROM          blabla a
        GROUP BY item) a
GROUP BY client_id
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Now playing: Yahel And Infected Mushroom — Live At Japan
Re: про уникальность
От: Roman Pushkin Россия  
Дата: 26.10.05 11:59
Оценка:
...

RP>
select distinct item, client_id from blabla


RP>но так появляются повторяющиеся client_id, нужно чтобы их тоже не было, даже если это будет ущербным для item



Разобрался, сделал так:

select max(item) as item, client_id from blabla group by client_id
.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.