![]() |
![]() |
![]()
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%) ![]() ![]() |
Oczywiście, że lepiej, ale nikt się z tym nie rodzi. Znajomości SQL-a nie można się nauczyć w jeden dzień. Zakładania tabel tymczasowych nie uważam za coś złego o ile się na tym nie poprzestaje. Nie jest to profesjonalne, ale może być krokiem do osiągnięcia profesjonalizmu.
BTW. Przyszła mi do głowy jeszcze jedna myśl. MySQL pozwala na tworzenie tabel HEAP (memory). Teoretycznie często pobierane dane można by wrzucić do takiej tabeli. Mogło by to przyspieszyć ich pobieranie. Dane w takiej tabeli powinny być w formacie takim jakiego potrzebujemy w PHP (czyli na przykład łączone przez GROUP_CONCAT).W takim przypadku taki format danych byłby chyba dopuszczalny (tylko do odczytu jednym SELECTEM) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 19:34 |