К приемру, есть набор:
(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
Здравствуйте, 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
...
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