私が達成しようとしているのは、いくつかのサブクエリで構成される1つの複雑なクエリを作成することです。アイデアは、レポートデータをプルするために週に1回実行するようにビジネスパーソンに与えることです。
結果は、以下のクエリに似ています。このクエリでは、多くのテーブルのすべてのデータが1つの結果に表示されます。
select * from table1, table2, table3
だから私は何かが必要ですが、それはうまくいきません。
select
(select * from table1 where ...... ) as table1,
(select * from table2 where....... ) as table2
手動で、サブクエリを個別に実行し、結果を1つの大きなExcelシートに手動で追加できます。しかし、私はビジネスマンがこれを簡単に行えるようにして、エラーを最小限に抑えたいと思っています。
これはMySQLで可能ですか?
これは、レガシーのOracle PIVOT SQLステートメントをMySQLの同等のステートメントに変換しているためで、サブクエリはかなり複雑です。
必要に応じてOracle SQLを提供できます。
いつものようにとても感謝しています。
少しいじった後:
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
私があなたを正しく理解しているなら、あなたはただUNIONを必要とします:D
(SELECT column1 AS name1, column2 AS name2 FROM table1 WHERE ...... )
UNION
(SELECT column3 AS name1, column4 AS name2 FROM table2 WHERE ...... )
UNION
....
コメントで後述するように、列は同じ名前(エイリアスを使用できます)で同じ順序である必要があります。
select main.*,
(select col from tbl1 where tbl1.id=main.id) as col1,
(select col from tbl2 where tbl2.id=main.id) as col2,
(select col from tbl3 where tbl3.id=main.id) as col3
from master as main