![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
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. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
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 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
Ja zawsze wymyślam uproszczone przykłady i zawsze to są głupie przykłady (IMG:style_emoticons/default/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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 14:45 |