Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pobieranie danych z dwóch tabel i ich JOINowanie.
Ania-678
post 9.10.2008, 00:12:28
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 15.06.2007

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


Witam serdecznie.

Otóż mam 2 tabele, jedną z tematami, drugą z oznaczeniami czy dany user "czytał" dany temat.

Ta druga tabelka ma pola topic_id oraz user_id.

Całość wyciągam w ten sposób:

  1. SELECT ft.topic_id, ft.nazwa, fr.topic_id AS read_id, fr.user_id FROM ft LEFT JOIN fr USING (topic_id) WHERE ft.cat_id='.$_GET['cat'].' AND (fr.user_id='.$userid.' OR fr.user_id IS NULL)



I niezależnie od tego czy w 2 tabeli będą powiązane rekordy czy nie to ma zwrócić dane z tabeli 1, jednak jest ten ferelny warunek where na tę 2 tabelę... Próbowałam go obejść w taki sposób:

  1. AND (fr.user_id='.$userid.' OR fr.user_id IS NULL)


Niestety nie działa to do końca jak powinno... sciana.gif

Może ma ktoś jakieś pomysły?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
wookieb
post 9.10.2008, 08:26:21
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Zamien
na
  1. SELECT ft.topic_id, ft.nazwa, fr.topic_id AS read_id, fr.user_id FROM ft LEFT JOIN fr ON (fr.topic_id=ft.topic_id AND fr.user_id='.$userId.') WHERE ft.cat_id='.$_GET['cat']


Ten post edytował wookieb 9.10.2008, 08:26:40


--------------------
Go to the top of the page
+Quote Post
Method
post 9.10.2008, 08:27:21
Post #3





Grupa: Zarejestrowani
Postów: 177
Pomógł: 6
Dołączył: 14.01.2003
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


http://en.wikipedia.org/wiki/Join_(SQL)


Pisz z (+) łatwiej się czyta.
  1. SELECT ft.topic_id, ft.nazwa, fr.topic_id AS read_id, fr.user_id
  2. FROM ft.topic_id (+)= fr.topic_id
  3. WHERE ft.cat_id='.$_GET['cat'].' AND fr.user_id(+)='.$userid.'




Nie mam nic pod reką gdzie moglbym testnac ale sposob rozwiazania mniej wiecej tak


--------------------
"zycia nie mierzy sie liczba oddechow,
ale liczba chwil, ktore zapieraja dech w piersi"
Go to the top of the page
+Quote Post
Ania-678
post 9.10.2008, 10:21:58
Post #4





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 15.06.2007

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


Wow, nie wiedziałam że można dawać wiele warunków łączenia tabel... ale zadziałało tongue.gif

Ten post edytował Ania-678 9.10.2008, 10:22:38
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 10:08