Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Rozbudowany JOIN, zagnieżdżone zapytanie
lukesh
post
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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
#luq
post
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

Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.09.2025 - 14:16