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
kitol
post
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)
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: 4.10.2025 - 19:34