![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 14 Dołączył: 25.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Pracuję właśnie nad systemem zarządzającym fiszkami i mam dwie tabele:
1. items - tu przechowywane są wszystkie fiszki oraz 2. repetitions - tu przechowywane są informacje o powtórkach danych fiszek. ITEMS: id---question---answer REPETITIONS: id---item_id---user---info Chciałbym połączyć oba zapytania metodą RIGHT JOIN (repetitions RIGHT JOIN items) w taki sposób, aby skrypt najpierw pobrał część tabeli repetitions dla określonego użytkownika a dopiero potem przykleił do niej tabelę item. Jeśli wykonam zapytanie: SELECT * FROM repetitions RIGHT JOIN items ON repetitions.item_id=items.id WHERE user=123, skrypt ominie te pola tabeli items, do których nie pasuje zmienna repetitions.user. A ja chciałbym, żeby w tym przypadku zmienna user przybrała w tabeli wartość NULL. Nie mam pojęcia, jak napisać takie zapytanie. Najchętniej napisałbym: SELECT * FROM (repetitions WHERE user=123) RIGHT JOIN items on repetitions.item_id=items.id - ale tak się niestety nie da... Bardzo proszę o pomoc! Uogólniając moje pytanie: Jak można połączyć ze sobą wybrane kawałki dwóch tabel zamiast całych tabel? To znaczy tak, żeby warunek WHERE można było przypisać do każdej tabeli osobno? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 589 Pomógł: 91 Dołączył: 22.05.2008 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
Bo brakuję FROM?
Ja nie rozumiem, wy (w sensie młodzi adepci sztuk webdeveloperowych) tworzycie zapytania już od razu w kodzie PHP, czy no nie wiem... Proste zapytania okej, ale bardziej skomplikowane najpierw twórz i testuj na bazie, może być po prostu ten nielubiany phpMyAdmin. Jeśli coś nie działa w zapytaniu to wyprintuj je i zaobacz jaki konkretnie błąd wypluwa MySQL |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.09.2025 - 14:16 |