<?php /** * Author : NEUMANN-RYSTOW François <hide@address.com> * Date : 23 Oct, 2008 * Purpose : Usage example of dqml2tree class */ require 'dqml2tree.php'; // simple query $sql_query = "SELECT field1, field2 FROM table WHERE field3='val1' AND field4=5 OR field5='val2';"; $query2tree = new dqml2tree($sql_query); $sql_tree = $query2tree->make(); print_r($sql_tree); // complex query $sql_query = 'SELECT *, (SELECT avg(field1), field2 as alias1, field3, field4 FROM table1 WHERE field1=table2.field2) as query_field1 FROM table3, table4, ((table5 AS alias6 LEFT JOIN table6 ON table5.field5=table6.field5) INNER JOIN table7 ON table6.field5=table7.field5) OUTER JOIN table8 ON table7.field5=table8.field5 JOIN table9 ON table8.field5=table9.field5 WHERE field5 IN (SELECT field5 FROM table10 WHERE field6=\'y\') AND field7=\'SELECT field8 FROM table11 WHERE field9 LIKE \'\'%plo\'\'\'\'ppy%\'\' AND field9 LIKE \'\'%WORD (OTHER WORD) IN LETTER\'\'\'\'NAMES\'\'\' OR field8 IS NOT NULL OR field9 IS NULL AND field10>=\'value1\' UNION SELECT *, (SELECT max(field11), field12 FROM table12 WHERE field13=table13.field13) as field_alias1 FROM table13 WHERE field14=\'n\' AND (field15<=field16 AND field17=field18) GROUP BY field19, field20 HAVING count(*)>0 AND avg(field1)=1 OR max(field1)<10 INTERSECT SELECT * FROM table15 ORDER BY field1 ASC, field21 DESC LIMIT 10 OFFSET 100 '; $query2tree = new dqml2tree($sql_query); $sql_tree = $query2tree->make(); print_r($sql_tree); ?>