Witam,
zmagam się z następującym problemem. Mam następującą tabelę:
id | kolumna1 | kolumna2 |
---|---|---|
1 | kot | pilka |
2 | pies | kubek |
3 | kot | maslo |
4 | mysz | pilka |
5 | pies | maslo |
Następnie zapytaniem SQL zwracam wszystkie powtarzające się krotki dla zadanej kolumny. |
select *
from tabela
where kolumna1 in (select kolumna1
from tabela
group by kolumna1
having count(kolumna1)>1)
Otrzymuję wynik:
id | kolumna1 | kolumna2 |
---|---|---|
1 | kot | pilka |
2 | pies | kubek |
3 | kot | maslo |
5 | pies | maslo |
I teraz zależy mi na tym, aby otrzymany wynik wyświetlał tylko jeden raz powtarzającą się krotkę wraz ze wszystkimi kolumnami, czyli dla kolumny1 chcę otrzymać np wynik:
id | kolumna1 | kolumna2 |
---|---|---|
1 | kot | pilka |
5 | pies | maslo |
Te wybrane powtarzające krotki mogą być dowolne, czyli np jeżeli słowo pies się powtarza to może to być wyświetlona krotka z indeksem 2 jak i z indeksem 5. Ale chodzi o to, aby była wyświetlona tylko raz. GROUP BY odpada, bo wtedy nie można wyświetlić wszystkich kolumn. Będę wdzięczny za wszelką pomoc. |