Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapytanie do dwóch tabel zwracające rekordy (pytania) bez odpowiedzi, Zwraca mi rekordy(pytania) z 1 odpowiedzią
Poker
post
Post #1





Grupa: Zarejestrowani
Postów: 205
Pomógł: 3
Dołączył: 20.04.2009
Skąd: Jaworzno

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


Witam,

Mam mały problem z zapytanie, chcę pobrać wszystkie rekordy(pytania) z bazy które są bez odpowiedzi.
Niestety mogę wyświetlić tylko rekordy które mają minimum 1 odpowiedź, a nie mogę wyświetlić tych pustych.

Moje zapytanie:
Kod
mysql_query("SELECT pyt.*, odp.ilosc FROM PORTAL_pytania pyt INNER JOIN(SELECT idPytania, COUNT(id) AS ilosc FROM PORTAL_odpowiedzi GROUP BY idPytania)odp ON odp.idPytania=pyt.id  WHERE odp.ilosc='0' ORDER BY pyt.id DESC LIMIT $limit, $ilosc");



Wydaje mi się że problem jest w
Kod
ON odp.idPytania=pyt.id
bo zlicza mi tylko te rekordy(pytania) które mają odpowiedź, nie wiem jak to przerobić, czy ktoś z dobrego serca mógłby mi pomóc i udzielić rady czemu tak a nie inaczej?

Bardzo dziękuje z góry za pomoc.

Dariusz
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mortus
post
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Ale skoro nie ma odpowiedzi na jakieś pytanie, to i nie ma rekordu w tabeli PORTAL_odpowiedzi. Czyż nie? Jeśli tak, to nie można tych rekordów połączyć JOIN-em, bo ich po prostu nie ma. Wypróbuj:
  1. SELECT * FROM PORTAL_pytania WHERE PORTAL_pytania.id NOT IN (SELECT idPytania FROM PORTAL_odpowiedzi)


EDIT
Wcześniej była liczba pytań bez odpowiedzi.

Można to troszkę przyspieszyć, posortować wg id pytania i pobrać określoną ilość rekordów:
  1. SELECT * FROM PORTAL_pytania WHERE id NOT IN (SELECT DISTINCT idPytania FROM PORTAL_odpowiedzi) ORDER BY id DESC LIMIT $limit, $ilosc


Ten post edytował mortus 6.06.2011, 11:08:25
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: 8.10.2025 - 19:51