2013-02-21 3 views
1

imageкак получить Однорядовую форму группы

Я хочу запрос, который даст мне желаемый результат, я использую следующий запрос

select table1.name1,table2.address 
from table1 join table2 
    on(table1.key=table2.key); 

это дает мне результат после присоединиться гайки нужно только одного строка для каждой клавиши.
Любая помощь будет оценена по достоинству.

+0

Почему [A, I], а не [A, J], почему [B, K], а не [B, L или M]? –

+1

Вам нужно будет объяснить, что делает комбинацию имени A и адреса I желательной в результатах, в то время как имя A и адрес J нежелательны. – symcbean

+0

любая комбинация разрешена, но только одна строка для каждой клавиши – Abhij

ответ

2

Если любая комбинация допускается, но только одна строка для каждого ключа, попробуйте следующее:

select table1.name1, MAX(table2.address) address 
from table1 
    join table2 
     on table1.key=table2.key 
group by table1.name1 
2

попробовать, как это

select * 
from (select table2.address, 
     rank() over (partition by table1.name1 order by table1.key) rn 
     from table1 join table2 on(table1.key=table2.key)) 
where rn = 1 
Смежные вопросы