![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Posiadam 3 tabele, które muszą ze sobą współpracować:
Jednym zapytaniem chciałbym pobrać listę funtestów (funtests), pytania do nich (funtests_questions) oraz odpowiedzi do pytań (funtests_answers). Jakby nie patrzeć jest to w pewien sposób relacja podkategorii. Zawsze robiłem to tak, że do pól dopisywałem jeszcze jeden uchwyt relacjonujący, np do odpowiedzi na pytanie pola: answer_question (do jakiego pytania należy odpowiedź) oraz DODATKOWO answe _funtest (do jakiego funtestu należy pytanie). Kiedyś robiłem to 3 zapytaniami: - pobieramy listę funtestow - pobieramy listę pytań (w zależności od funtestów, w klausuli IN() ) - pobieramy listę odpowiedzi (w zależności od pytań, w klausuli IN() ) Powstają nam rozsypane arraye, które potem w odpowiedni sposób sobie łączyłem. Czy jest możliwość załadowania wszystkich rzeczy 1 zapytaniem? Ofc mam pomysł, aby załadować odpowiedzi i joinować do nich pytania a do pytań dane funtestu, ale dane funtesu powtarzałyby się w każdym rekordzie, a dane pytań często, tyle ile jest odpowiedzi:
-------------------- Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 295 Pomógł: 7 Dołączył: 26.03.2004 Skąd: Opole Ostrzeżenie: (0%) ![]() ![]() |
Wszystko da sie wyciągnąć jednym zapytaniem, ale zapytanie ze złączenia kilku tabel zwraca wynik będący mnożeniem macierzy reprezentujących poszczególne tabele. Kategoria może mieć 'n' pytań, a każde pytanie po 'k' odpowiedzi. Zatem dana kategoria zostanie łącznie wymieniona w 'n' x 'k' zwróconych rekordów.
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 23.06.2025 - 15:56 |