- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:サブクエリについて)
サブクエリの使い方と注意点
このQ&Aのポイント
- サブクエリを使った集計処理の結果を表示する方法について解説します。
- サブクエリの使い方や注意点を説明し、具体的な例を示します。
- サブクエリを正しく使うためには、テーブルの関係性やデータの種類を理解することが重要です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
サブクエリするなら外部結合でしょうね ただサブクエリ使わなくてもできます たとえば SELECT IODate ,SUM(IF(IO='収入',PRICE,0)) AS 収入 ,SUM(IF(IO='支出',PRICE,0)) AS 支出 FROM dailyio group by IODate とか SELECT IODate ,SUM((IO='収入')*PRICE) AS 収入 ,SUM((IO='支出')*PRICE) AS 支出 FROM dailyio group by IODate とか
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.2
外部結合ならこんな感じでいけるのかな SELECT DISTINCT D.IODate,収入,支出 FROM dailyio as D INNER JOIN (SELECT IODate,SUM(PRICE) AS 収入 FROM dailyio WHERE IO='収入' GROUP BY IODate) AS I1 ON D.IODate=I1.IODate INNER JOIN (SELECT IODate,SUM(PRICE) AS 支出 FROM dailyio WHERE IO='支出' GROUP BY IODate) AS I2 ON D.IODate=I2.IODate パフォーマンスを考えればもうちょっとチューニングが必要かも
質問者
補足
回答ありがとうございます 試してみたところ ERROR 1064: You have an error in your SQL syntax. になりました・・・ん~~何でだろう・・・
お礼
,SUM(IF(IO='収入',PRICE,0)) AS 収入 を ,SUM(IF(IO='収入',PRICE,0)) AS "収入" にしたら行けました!!! ありがとうございます!!
補足
回答ありがとうございます 二つとも試してみたのですが ERROR 1064: You have an error in your SQL syntax. になってしまいます、 原因が解らないです><