<?php
 
/**
 
* Author  : NEUMANN-RYSTOW François <[email protected]>
 
* 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);
 
 
?>
 
 
 |