コードをリファクタリングしているのですが現在のsqlはそれぞれの集計を取得するだけのsqlです
oracle
1 SELECT 2 ,SUM(CASE WHEN TCM.YARD LIKE 'T%' THEN 1 ELSE 0 END) AS 東京 3 ,SUM(CASE WHEN TCM.YARD LIKE 'N%' THEN 1 ELSE 0 END) AS 名古屋 4 ,SUM(CASE WHEN TCM.YARD LIKE 'K%' THEN 1 ELSE 0 END) AS 神戸 5 ,'=SUM(RC[-6]:RC[-1])' AS 合計 6 FROM 7 T_CAR TC 8 INNER JOIN T_CAR_MAIN TCM 9 ON TC.ORDER_NO = TCM.IN_ORDER_NO 10 WHERE 11 TRUNC(TCM.START_DATE) <= TO_DATE(2019/01/01) 12 AND TRUNC(TCM.START_DATE) IS NOT NULL 13 AND( 14 TRUNC(TCM.END_DATE) >= TO_DATE(2019/02/01) 15 OR TRUNC(TCM.END_DATE) IS NULL 16 )
TCテーブルのIDカラムには01,02,03とidがありそのidも一緒に取得したいです。
どうしたらいいでしょうか。
私「Oracle」タグはフォローしてないですが、回答依頼はどういう経緯でしょうか?
申し訳ないです。
回答依頼するユーザーの一番上に表示されていたのでお願いしてしましました。
了解です。SQL自体は問題ないため、「絶対にダメ」というわけではありませんので。
ちょっと気になったので聞いてみました。
再現確認や調整もしたいので、
各テーブルのCREATE TABLEとサンプルデータのINSERT文もあると助かります。
Oracle SQL 入門程度の勉強をしないで、実務に入って破綻したシステムを何度も見ています。
TO_DATE(2019/01/01)
↓
TO_DATE('2019/01/01', 'YYYY/MM/DD')
くらいは修正しましょう。
質問にCREATE TABLE文と数件で良いからテーブルに存在するデータをINSERT文で提示ください。
回答2件
あなたの回答
tips
プレビュー