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!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
dlaczego nie działa to pytanie do Mysql ?
SELECT *, (SELECT count(id) FROM pages WHERE parent=pages.id ) as subpages FROM pages WHERE parent='0'
Offline
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:
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
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
To może tak:
SELECT p.*, (SELECT count(pp.id) FROM pages pp WHERE pp.parent=p.id ) as subpages FROM pages p WHERE p.parent='0';
Offline
hmm ,ruszylo mi tak :
SELECT count(id) FROM pages sub WHERE sub.parent=pages.id ) as subpages FROM pages WHERE pages.parent='0'
Offline
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