![]() |
![]() |
![]()
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. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 26 Dołączył: 19.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Po części się zgodzę. Trzymanie danych w formacie wartości oddzielonych separatorami w polu jest niewygodne, gdyż komplikuje operacje wykonywane na takim polu. Jednak czasami użycie funkcji GROUP_CONCAT jest bardzo przydatne do generowania raportów (tworzenia list wartości). Jako przykład mogę podać generowanie pliku CSV który ma zdefiniowaną strukturę, taką że w jednym polu jest np. lista zdjęć oddzielonych przecinkiem. Jeżeli wygenerowana tabela ma być wykorzystana do trzymania danych to się z tobą zgodzę, utrudni to późniejszą pracę z danymi. Rynraf nie przedstawił nam dlaczego potrzebuje takiego formatu danych. Równie dobrze może chcieć stworzyć tabelę tymczasową do generowania jakiegoś pliku.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 374 Pomógł: 149 Dołączył: 1.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Po części się zgodzę. Trzymanie danych w formacie wartości oddzielonych separatorami w polu jest niewygodne, gdyż komplikuje operacje wykonywane na takim polu. Jednak czasami użycie funkcji GROUP_CONCAT jest bardzo przydatne do generowania raportów (tworzenia list wartości). Zgadza się, ale to się robi dynamicznie a nie przez tworzenie dodatkowej tabeli. Teraz efekt jest taki. Masz dodatkową tabelę w beznadziejnym formacje. Musisz robić zapytania aktualizujące tę tabelę i dodatkowo zapytania czytające dane z niej wtedy kiedy Ci potrzeba. Jaki to ma sens? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.09.2025 - 08:47 |