Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wynik selecta - wiele pól w jednym, połączone przecinkami
Forum PHP.pl > Forum > Bazy danych > MySQL
Foxx
W jaki sposób można osiągnąć następujący efekt: załóżmy, że książka może mieć wielu autorów, mam tabelę książka i tabelę autor, w tej ostatniej jest pole ksiazka_id.

Chciałbym pobrać informację o książce tak, żeby dla każdej książki mieć 1 rekord mimo, że książka może mieć wielu autorów. Wynik chciałbym przestawić w następującej postaci:

ksiazka_id autorzy
45 2, 45, 56

Dzięki za wszelkie podpowiedzi.
nospor
Po pierwsze: masz zla strukutre. Powinny byc tabele:
KSIAZKA, AUTOR, KSIAZKA-AUTOR (ta tabela laczy ksiazke z autorem)

Po drugie: Gdy juz bedziesz mial poprawną strukture to mozesz osiagnac co cchesz przy pomocy GROUP BY oraz GROUP_CONCAT
Foxx
Ja zawsze wymyślam uproszczone przykłady i zawsze to są głupie przykłady smile.gif W rzeczywistości mam relację wiele do wielu, ale chciałem okroić temat żeby pytanie było prostsze.

Dzięki - group_concat pomogło.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.