Jag försöker att få ut hur många underkategorier (hur många parent_page_id som = page_id)
Denna visar ingenting:
("SELECT page_id,parent_page_id,linktext,count(*) FROM tbl_links WHERE page_id=parent_page_id GROUP BY page_id ORDER BY orderid ")
Denna genererar fel:
("SELECT page_id,parent_page_id,linktext,(SELECT count(*) FROM tbl_links WHERE page_id=parent_page_id GROUP BY page_id) FROM tbl_links ORDER BY orderid ")
create table links( page_id int,parent int, text char);
insert into links values(1,null,'a');
insert into links values(2,null,'b');
insert into links values(3,1,'c');
insert into links values(4,1,'d');
insert into links values(5,2,'e');
select l1.page_id , l1.text , count(*)from links l1 , links l2
where l1.page_id = l2.parent
group by l1.page_id,l1.text;
PAGE_ID TEXT
=========== ==== ===========
1 a 2
2 b 1
2 rows found
Jag har kanske missförstått hur din tabell är definerad.
Alltså alla poster skall hämtas, och count() skall plocka ut hur många av posterna som innehåller varje specifikt id.
Ex.
page_id parent_page_id linktext orderid
====== =========== ===== =====
1 0 Ettan 1
2 1 Två 2
3 1 Tre 3
4 2 Fyra 4
Alltså:
getrows(0,0) skulle visa 2
(0,1) skulle visa 1
(0,2) och (0,3) skulle visa 0