Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak wyciągnąć wartości kolumny kilku rekordów do jednego pola?, grupowanie po ID i wyciąganie telefonów jako stringa
ky3orr
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 25.10.2004
Skąd: Wrocław

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


Witam wszystkich,

stanąłem przed następującym problemem:

-mam tabelę z Klientami, gdzie każdy ma pole ID,
-mam druga tabelę, gdzie każdy Klient ma tyle rekordów ile ma numerów telefonu (oczywiście jest także pole ID).

Zadanie polega na wyciągnięciu tabeli, w której są podane dane Klienta (z pierwszej tabeli) oraz dodatkowa kolumna, gdzie po przecinku maja pojawić się wszystkie telefony.

Jak się za to zabrać?
Jakimś podzapytaniem? Jakiś sposób na grupowanie?
Nie mam pojęcia jak ugryźć temat - może koledzy podpowiedzą...

pozdrawiam

Ten post edytował ky3orr 28.07.2010, 15:10:39
Go to the top of the page
+Quote Post
mkozak
post
Post #2





Grupa: Zarejestrowani
Postów: 78
Pomógł: 4
Dołączył: 21.03.2005

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


funkcja GROUP_CONCAT
Go to the top of the page
+Quote Post
ky3orr
post
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 25.10.2004
Skąd: Wrocław

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


Serdeczne dzięki za pomoc!

to jest to czego szukałem (IMG:style_emoticons/default/smile.gif)

jeśliby ktoś potrzebował natchnienia to podrzucam prosty kodzik:

  1. SELECT kontrahentid, group_concat(DISTINCT concat_ws('',kontrahentphonedirectional,' ',kontrahentphonenumber) separator '; ') AS phone
  2. FROM kontrahentphone
  3. GROUP BY kontrahentid


group_concat zbiera razem nie puste pola zaznaczone jako parametr i scala je za pomocą separatora.
distinct usuwa zdublowane elementy.

pozdrawiam
Go to the top of the page
+Quote Post

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: 23.08.2025 - 18:11