Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL] Wyciaganie wszystkich id z pierwszej tabeli nawet jesli nie ma powiazania z drugą
neo1986kk
post
Post #1





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

Ostrzeżenie: (0%)
-----


Witam mam 2 tabele

rodzaje jablek

id | rodzaj
1 | zielone
2 | czerwone

i drugą tabelę, która zawiera informacje, które jablka moga jeść użytkownicy

ktore mogą jeść

rodzaj| user| avaliable
1 | 1 | 1
2 | 1 | 1
3 | 2 | 1

no to łatwo wyczytać że user 1 moze jest zielone, user 2 moze jesc zielone, user 3 moze jesc czerwone, ale ja chce zrobic sobie listę które moze, a które nie, czyli wysylam id uzytkownika do bazy i tworze taki o to SQL:

  1. SELECT at.rodzaj, mj.avaliable FROM apple_types at LEFT JOIN moze_jesc mj WHERE mj.user=3


i to mi pokazuje tylko ze user 3 moze jesc jablka czerwone, a chcialbym zeby pojawił się tez wiersz że nie moze jeść zielonych czyli coś w stylu:

ar.rodzaj | mj.avaliable
zielone | NULL
czerwone | 1

domyslame sie ze to "where mj.user=3" tutaj psuje konstrukcje.

jeszcze próbowałem coś takiego
  1. SELECT at.rodzaj, mj.avaliable FROM apple_types at LEFT JOIN moze_jesc mj LEFT JOIN users u ON mj.user=u.id

ale to tez nie dziala

jakies sugestie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
neo1986kk
post
Post #2





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

Ostrzeżenie: (0%)
-----


Kombinowałem już na wszystkie sposoby, pierwsze JOIN zamieniałem na LEFT JOIN i odwrotnie i nadal nie moge osiągnąć wyniku, pewnie rozbije to na 2 zapytania...


  1. SELECT at.rodzaj, mj.avaliable FROM apple_types at LEFT JOIN moze_jesc mj ON at.id=mj.rodzaj JOIN users u WHERE u.id=4



w ten sposób zadziałało



Ten post edytował neo1986kk 28.09.2015, 18:35:01
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: 12.10.2025 - 13:41