Hi! Could we please enable some services and cookies to improve your experience and our website?

SQLize | PHPize | SQLtest

Online Sandbox for SQL and PHP: Write, Run, Test, and Share SQL Queries and PHP Code

A A A
Login    Share code      Blog   FAQ
Copy Format Clear
CREATE TABLE geo ( id int not null primary key, parent_id int references geo(id), name varchar(1000) ); INSERT INTO geo (id, parent_id, name) VALUES (1, null, 'Планета Земля'), (2, 1, 'Континент Евразия'), (3, 1, 'Континент Северная Америка'), (4, 2, 'Европа'), (5, 4, 'Россия'), (6, 4, 'Германия'), (7, 5, 'Москва'), (8, 5, 'Санкт-Петербург'), (9, 6, 'Берлин'), (10, 9, 'Район Берлина'); WITH RECURSIVE r AS ( SELECT id, parent_id, name, 1 as level, parent_id as first_level FROM geo WHERE parent_id = 4 UNION SELECT geo.id, geo.parent_id, geo.name, (r.level+1), r.first_level FROM geo JOIN r ON geo.parent_id = r.id ) SELECT * FROM r;

Stuck with a problem? Got Error? Ask AI support!

Copy Clear