PHPize Online / SQLize Online  /  SQLtest Online

A A A
Share      Blog   Popular
Copy Format Clear
-- Hint: use Ctrl+Enter for SQL autocomplete CREATE TABLE menu (`mid` int, `parent` varchar(4), `sub` varchar(4), `org` int, `item` varchar(50), `price` varchar(50), `dsc1` varchar(255), `dsc2` varchar(255)) ; INSERT INTO `menu` (`mid`,`parent`,`sub`,`org`,`item`,`price`,`dsc1`,`dsc2`) VALUES (1,NULL,NULL,1,'Apple',NULL,NULL,NULL); INSERT INTO `menu` (`mid`,`parent`,`sub`,`org`,`item`,`price`,`dsc1`,`dsc2`) VALUES (2,1,NULL,1,'iPhone ','$500','(HI)',NULL); INSERT INTO `menu` (`mid`,`parent`,`sub`,`org`,`item`,`price`,`dsc1`,`dsc2`) VALUES (3,1,2,1,'iPhone Plus','$600','(HI)',NULL); INSERT INTO `menu` (`mid`,`parent`,`sub`,`org`,`item`,`price`,`dsc1`,`dsc2`) VALUES (4,1,2,1,'iPhone Red','$900','(HI)',NULL); INSERT INTO `menu` (`mid`,`parent`,`sub`,`org`,`item`,`price`,`dsc1`,`dsc2`) VALUES (5,1,NULL,1,'MacBook Pro','$1200','(HI)',NULL); INSERT INTO `menu` (`mid`,`parent`,`sub`,`org`,`item`,`price`,`dsc1`,`dsc2`) VALUES (6,NULL,NULL,1,'Acer',NULL,NULL,NULL); INSERT INTO `menu` (`mid`,`parent`,`sub`,`org`,`item`,`price`,`dsc1`,`dsc2`) VALUES (7,6,NULL,1,'Laptop ','$500','(HI)',NULL); INSERT INTO `menu` (`mid`,`parent`,`sub`,`org`,`item`,`price`,`dsc1`,`dsc2`) VALUES (8,6,NULL,1,'Elitebook ','$700','(HI)',NULL); INSERT INTO `menu` (`mid`,`parent`,`sub`,`org`,`item`,`price`,`dsc1`,`dsc2`) VALUES (9,NULL,NULL,1,'ASUS',NULL,NULL,NULL); INSERT INTO `menu` (`mid`,`parent`,`sub`,`org`,`item`,`price`,`dsc1`,`dsc2`) VALUES (10,9,NULL,1,'Machine ','$500','(HI)',NULL);
Copy Clear
Copy Format Clear
<?php $stmt = $pdo->query(" select top.item, group_concat(concat(base.price,' '), base.item, concat(sub.price,' '), sub.item separator ''), base.dsc1, base.dsc2 from menu sub left join menu base on sub.sub = base.mid left join menu top on sub.parent = top.mid where base.mid=sub.sub group by top.item, base.item"); while ($row = $stmt->fetch(\PDO::FETCH_ASSOC)) { echo implode(' ', $row) . "\n"; }
Show:  
Copy Clear