Łączenie podobnych wyników

0

Zapytanie zwraca mi rekordy, przykładowo:

ID nazwa kolor
1 test żółty
2 test2 czerwony
3 test2 żółty
Natomiast wynik jaki chciałbym otrzymać to:
ID nazwa kolor
---------------- ---------------- ----------------
1 test żółty
2 test2 czerwony,żółty

Czyli te rekordy mające różnice w jednej kolumnie scalić- tak jak wyżej- ciężko mi to dobrze opisać. Czy jest funkcja umożliwiająca takie coś?

0

group_concat w połączeniu z klauzulą group by.

0

Tak na szybko:

SELECT ID, nazwa, (SELECT kolor + ',' FROM #test WHERE nazwa = X.nazwa FOR XML PATH ('')) FROM (
select ROW_NUMBER() OVER (PARTITION BY nazwa ORDER BY nazwa) LP, * from #test A ) X WHERE LP = 1
0

Tak, żebyś nie skopiował rozwiązania @firefox:

 

Select nazwa, group_concat(kolor) from Nazwa_Tabeli group by nazwa;

0

Ah, bo moje rozwiązanie jest w MSSQL a chodzi o MySQL :)

0

A w nieszczęsnej bazie Access? Tam nie ma funkcji group_concat, za informacje o niej dziękuję.

1 użytkowników online, w tym zalogowanych: 0, gości: 1