0
A
答えて
2
多分このような何か?あなたが任意の例を提供しているならば容易になるだろう推測
Select
ID,
max(case when MYDATE = '20160105 10:00:00' then PRICE else 0 end),
max(case when MYDATE = '20140805 10:00:00' then PRICE else 0 end),
max(case when MYDATE = '20170215 10:00:00' then PRICE else 0 end)
FROM
(
select ID, PRICE FROM TABLE1 WHERE MYDATE in ('20160105 10:00:00', '20140805 10:00:00', '20170215 10:00:00')
UNION ALL
SELECT ID, PRICE FROM TABLE2 WHERE MYDATE in ('20160105 10:00:00', '20140805 10:00:00', '20170215 10:00:00')
) A
group by ID
...
0
あなたは参加のために()、A.IDを使う避けることができ、これはパフォーマンスのために、いくつかの利益を生み出すことができ
Select A.ID, A.[2016 Price], B.[2014 Price], C.[2017 Price]
FROM
(
select ID, PRICE [2016 Price] FROM TABLE1 WHERE MYDATE = 2016-01-05 10:00:00
UNION
SELECT ID, PRICE FROM TABLE2 WHERE MYDATE = 2016-01-05 10:00:00
) A
INNER JOIN
(
select ID, PRICE [2014 Price] FROM TABLE1 WHERE MYDATE = 2014-08-05 10:00:00
UNION
SELECT ID, PRICE FROM TABLE2 WHERE MYDATE = 2014-08-05 10:00:00
) B ON A.ID =B.ID
INNER JOIN
(
select ID, PRICE [2017 Price] FROM TABLE1 WHERE MYDATE = 2017-02-15 10:00:00
UNION
SELECT ID, PRICE FROM TABLE2 WHERE MYDATE = 2017-02-15 10:00:00
) ON A.ID =C.ID
関連する問題
- 1. 結合されたクエリでSQL UNIONを使用する方法
- 2. 結合パフォーマンスの悪いSQLクエリ
- 3. UNIONクエリでのエントリ数の結合
- 4. 複数のCOUNT(UNION)SQLクエリの合計結果
- 5. UNIONとUNION ALLのパフォーマンス
- 6. SQL Serverの相関クエリと内部結合のパフォーマンス
- 7. SQL Serverでの結合クエリのパフォーマンスの向上
- 8. SQL - UNIONからの結果を結合する方法
- 9. onPause()の殺害プロセス
- 10. 複数のsolrクエリの結果を結合する方法(SQLのUNIONと同じように)?
- 11. SQL Server UNION ALLマージ結合(連結)が遅すぎる
- 12. MS-ACCESS SQL Unionクエリ
- 13. SQL結合カウントとselectクエリ
- 14. 左の結合でSQLクエリ
- 15. SQLのUNION句のパフォーマンスの問題
- 16. SQL:左結合クエリ
- 17. エイリアスと結合でSQLクエリを選択
- 18. 1つのクエリでグループを結合して結合するSQL
- 19. SQLクエリとJOINSクエリとSQLクエリをLISTAGGで結合しますか?
- 20. MySQL - 別のUNIONクエリでクエリ結果を使用する
- 21. カウントと左結合によるSQLクエリ
- 22. SQL結合クエリでスタックする
- 23. LIKEとUnionを使用したSQLクエリ
- 24. QODBSとSQL Serverクエリのパフォーマンス
- 25. SQLクエリのパフォーマンス
- 26. SQL複数の結合クエリ
- 27. SQLクエリ複数の結合
- 28. SQLクエリの結合テーブル
- 29. SQLクエリの結合要素
- 30. SQL結合クエリの試行
個々のクエリも低速ですか? ID列にインデックスがありますか?ところで、私はそのようなクエリを書く代わりにPIVOTを使用する必要があると思います。 – FLICKER
IDでインデックスを持つことから始めなければなりません。また、table1とtable2の間にIDが重複しないと思われる場合は、UnionをUnion Allと置き換えることができます。 – NotCaring
@FLICKER:ありがとうございます。私はIDのインデックスを持っています。ピボットを介して可能ですか?親切に –