Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> inner join zwraca zero rekordów ...
acztery
post
Post #1





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

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


mam takie zapytanie


  1. SELECT *,DATABASE.comment AS comment,DATABASE.id AS id, DATABASE.http AS http, AVG(comments.r) AS r ,AVG(comments.r5) AS r5 FROM `database` INNER JOIN comments ON DATABASE.id = comments.parent WHERE comments.act = '1' AND comments.typ = 'BAS' AND DATABASE.act='1' AND DATABASE.cat = 'salony' GROUP BY DATABASE.id ORDER BY DATABASE.id DESC LIMIT 10



zapytanie listuję dane z tabeli database i pobiera serdnie z comments. z tym ze jak nie ma zadnych zrednich to nie pobiera danych (jak nie ma nic w comments) czyli zeby pobrac rekord ten rekord musi miec wpis spelniajacy w comments.

left join i right nie działa.

kurde juz tyle nad tym siedze banalna sprawa ale jakoś nic mi nie przychodzi do glowy.

PS wiem ze nazwa database jest zła ale to chyba nie powód?

Ten post edytował acztery 23.03.2011, 15:55:38
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
mat-bi
post
Post #2





Grupa: Zarejestrowani
Postów: 690
Pomógł: 92
Dołączył: 6.02.2011

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


DATABASE.id = comments.parent - podajesz zamiast DATABASE nazwę tabeli, takie coś nie dziwne, że nei działa wink.gif
Go to the top of the page
+Quote Post
acztery
post
Post #3





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

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


sql nie zwraca błędów..

database to 1 nazwa tabeli
comments to 2 nazwa

Wiec nie rozumiem co jest zle w tym co zacytowałeś?


TEMAT do zamknięcia. Zastosowałem procedury i trigery.

Ten post edytował acztery 23.03.2011, 16:48:44
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Skoro taki JOIN ci nie zwraca rekordow to:
1) Dla podanych warunków nie ma żadnych rekordów w database
albo
2) Dla podanych warunków znalazł ci tylko takie rekordy database, dla których nie ma komentarzy.

Jeśli to była sytacja nr 2 to zamiast inner join masz zastosować left join


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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 Aktualny czas: 19.08.2025 - 15:45