Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] zapytanie laczace 2 kolumny, zestawic wartosci kol. B dla unikatowych wartosci kol. A
Rynraf
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 11.10.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Mam kolumny 'kol1' i 'kol2'.

Maja przykladowa zawartosc

Kod
---------------
| kol1 | kol2 |
---------------
|  A   |  x   |
|  A   |  e   |
|  A   |  d   |
|  B   |  t   |
|  B   |  m   |
|  B   |  p   |
|  B   |  k   |
|  B   |  t   |
---------------


Jak zrobic, jakie zapytane napisac, aby tak zmodyfikowac ta tabele,
np. tworzac z niej nowa, gdzie z 'kol1' otrzymane zostana rekordy unikatowe,
a w 'kolX' zostana wpisane wartosci rekordow z 'kol2' przyporzadkowane
do danej wartosci z 'kol1'.

Wynik oczekiwany:
Kod
-------------------------
| kol1 |       kolX     |
-------------------------
|  A   |  x; e; d       |
|  B   |  t; m; p; k; t |
-------------------------


Pytanie - jak tego dokonac?
Wynikiem ma być nowa tabela z danymi, albo zmodyfikowanie względnie istniejącej tabeli.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Rynraf
post
Post #2





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 11.10.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Dziękuję pięknie.

Porgupowałem to sobie w ten właśnie sposób:
  1. SELECT kluczowakolumna,kolumna1,GROUP_CONCAT(grupowanakolumna SEPARATOR '; ') AS pogrupowane, kolumnN, kolumnaK FROM tabela GROUP BY kluczowakolumna


Automatyczne wrzucenie tego do drugiej tabeli nie wychodziło sam nie wiem czemu, więc uzyskany wynik wyeksportowałem.

Tak jak napisał kitol to nie ma być wynik do dalszego trzymania w bazie, przeszukiwania itp. a jedynie do stowrzenia czegoś w rodzaju raportu, pliku właśnie.

Nie znałem właśnie funkcji GROUP_CONCAT(kolumna).
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.09.2025 - 12:40