Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2009-03-24 23:12:08

  szewczyk - Stary wyjadacz :P

szewczyk
Stary wyjadacz :P
Zarejestrowany: 2006-12-03

Dlaczego to nie działa ?

dlaczego nie działa to pytanie do Mysql ?

Kod:

 SELECT *, (SELECT count(id) FROM pages WHERE parent=pages.id ) as subpages FROM pages  WHERE parent='0'

Offline

 

#2  2009-03-24 23:18:12

  kamikaze - Administrator

kamikaze
Administrator
Zarejestrowany: 2004-04-16

Re: Dlaczego to nie działa ?

Bo jest bez sensu. Składnia jest w skrócie taka:

SELECT kolumna1, kolumna2 FROM tabela WHERE warunek;

Może być FROM z kilku tabel jak złączysz. Może być po SELECT * jeśli chcesz wszystko z tabeli bądź złączonych tabel.

A u ciebie jest w skrócie:

SELECT *, jakasliczba FROM pages  WHERE parent='0';

Widzisz? Jeszcze ta liczba może być różna zależnie od wyniku zapytania, które się i tak nie wykona bo masz błąd składniowy. Do książek i się SQL-a ucz ;] Jakbyś poczytał choć trochę nie byłoby takiego zdziwienia.

Hmm po chwili zastanowienia, chyba wiem co miałeś na myśli. Z pierwszego spojrzenia wydaje się zupełnie bez sensu. Ale spróbuj tak:

Kod:

SELECT pages.*, (SELECT count(id) FROM pages WHERE parent=pages.id ) as subpages FROM pages  WHERE pages.parent='0';

Ostatnio edytowany przez kamikaze (2009-03-24 23:20:51)

Offline

 

#3  2009-03-24 23:27:07

  szewczyk - Stary wyjadacz :P

szewczyk
Stary wyjadacz :P
Zarejestrowany: 2006-12-03

Re: Dlaczego to nie działa ?

kurcze nie dziala :(

jest tak :

w jednej tabeli mam strony i pod strony ,strony posiadaja parent=0 a podstrony parent<>0 ,wiec chce dzieki temu pytaniu do SQL wyciagniac wszystkie strony oraz liczbe pod stron jakie sa przypisane do kazdej znich ,dlaczego tak ? niechcialem robijac to na dwie prawie identyczne tabele w SQL

Offline

 

#4  2009-03-25 20:06:18

  kamikaze - Administrator

kamikaze
Administrator
Zarejestrowany: 2004-04-16

Re: Dlaczego to nie działa ?

To może tak:

Kod:

SELECT p.*, (SELECT count(pp.id) FROM pages pp WHERE pp.parent=p.id ) as subpages FROM pages p WHERE p.parent='0';

Offline

 

#5  2009-03-25 21:17:31

  szewczyk - Stary wyjadacz :P

szewczyk
Stary wyjadacz :P
Zarejestrowany: 2006-12-03

Re: Dlaczego to nie działa ?

hmm ,ruszylo mi tak :

Kod:

SELECT count(id) FROM pages sub WHERE sub.parent=pages.id ) as subpages FROM pages  WHERE pages.parent='0'

Offline

 

#6  2009-03-25 23:52:25

  kamikaze - Administrator

kamikaze
Administrator
Zarejestrowany: 2004-04-16

Re: Dlaczego to nie działa ?

Chyba nie wkleiłeś całości ale wygląda z grubsza właśnie tak jak napisałem. Fajnie że działa, nie mogłem sprawdzić.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)