Some of my TNG reports are based on MySQL VIEWs. Defining those reports is a two-step process:
First, you have to define a database VIEW. (Views are available since MySQL 5.0)
Example: CREATE VIEW v_test AS SELECT CONCAT("This site works with MySQL ", VERSION()) AS Info;
Then you can use this view like a table within a TNG report.
Example: SELECT Info FROM v_test;
View-based TNG reports are useful for complex SQL statements which TNG's showreport.php can't handle.