Get data from multiple SELECT sub-queries for reporting from MySQL database

user1775967 picture user1775967 · Mar 6, 2013 · Viewed 31.9k times · Source

I'm trying to achieve is to create one complex query consisting of a few sub-queries. The idea is to give it to a business person to run on a weekly basis to pull reporting data.

The effect would be similar to the query below, where all data from many tables are displayed in one result.

select * from table1, table2, table3

So I need something like, but it's not working.

select 
    (select * from   table1 where ...... ) as table1,
    (select * from   table2 where....... ) as table2

Manually, I could run the sub-queries separately, then manually append the results into one big excel sheet. But I want to make it easier for the business person to do this, and minimize errors.

Is this possible in MySQL?

The reason for this is I'm converting a legacy Oracle PIVOT SQL statements into the MySQL equivalence, and the sub-queries are pretty complex.

I can provide the Oracle SQL if needed.

Much appreciated as always.

Answer

user1775967 picture user1775967 · Mar 6, 2013

After some fiddling around:

select * from
    (select * from   table1 where survey_user_id=4 ) as T1
    ,
    (select * from   table2 where survey_field_type_id=100 ) as T2
    ,
    (select * from table3  )  as T3