Wypisanie wartości po przecinku

Wypisanie wartości po przecinku
DE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

Potrzebuję pomocy w poniższej kwestii.
Mam dwie tabele - Klient i Lista usług. Relacja jest taka, że klient może posiadać wiele usług.

Klient
Jan Kowalski
Andrzej nowak

Lista usług
Usługa 1
Usługa 2
Usługa 3

Chcę wypisać wszystkich klientów (jeden klient wypisany tylko raz) i dla nich wszystkie usługi. Z tym że usługi powinny być wypisane po przecinku w jednej kolumnie.

Klient Lista usług
Jan Kowalski Usługa 1, Usługa 2

Niestety nie wiem w jaki sposób zrobić to w zapytaniu.

Marcin.Miga
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2794
0

Nie idź tą drogą...

DE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

Czy to znaczy, że się nie da? Czy jest to na tyle skomplikowane, że aż nie wydajne?

Marcin.Miga
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2794
0

To znaczy, że po to wymyślono relację "N do N", by takich rzeczy nie robić...

abrakadaber
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6610
0

chodzi o to, że łamie to podstawowe zasady normalizacji bazy. O ile taki insert i potem select jest fajny to zrobić coś bardziej skomplikowanego (choćby wyświetlić wszystkich klientów, którzy mają usługę X) czy połączyć usługi z jakimiś dodatkowymi danymi to koszmar. Jak napisał Marcin - nie idź tą drogą - takie rzeczy się robi przez wprowadzenie dodatkowej tabeli z polami id_klient i id_usługa

no_solution_found
  • Rejestracja: dni
  • Ostatnio: dni
0

można też do klienta dodać komumnę ze wszystkimi usługami (jako tekst) i triggera, który po dodaniu/usunięciu usługi aktualizuje tę właśnie kolumnę. Co nie zmienia faktu, że potrzebujesz dodatkowej tabeli tak jak mówił @abrakadaber, aby przechowywać relację klient <-> usługa.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.