掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
SQLの書き方 (ID:37624)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
見やすいソースとしてこんなことをしていますが・・・ HOtaさんのソースを切った張ったしていますので、一部インデントが狂っていますが、 一旦テキストの形で作成して、最終的に sql.add(SQL_St) で処理します。 var SQL_St SQL_St := ' select '; +' sum(age0 ) as 十歳未満 , sum(age10) as 十代 , sum(age20) as 二十代 , sum(age30) as 三十代 , '; +' sum(age40) as 四十代 , sum(age50) as 五十代 , sum(age60) as 六十代 , sum(age70) as 七十代 , sum(age80) as 八十歳以上 '; +' from ( '; +' select '; +' 0 as age0 , 1 as age10 , 0 as age20 , 0 as age30 , 0 as age40, 0 as age50 , 0 as age60 , 0 as age70, 0 as age80, month '; +' from table1 where age < 10 '; +' union all '; +' select '; +' 0 as age0 , 1 as age10 , 0 as age20 , 0 as age30 , 0 as age40, 0 as age50 , 0 as age60 , 0 as age70, 0 as age80, month '; +' from table1 where age between 10 and 19 '; +' union all '; +' select '; +' 0 as age0 , 1 as age10 , 0 as age20 , 0 as age30 , 0 as age40, 0 as age50 , 0 as age60 , 0 as age70, 0 as age80, month '; +' from table1 where age between 20 and 29 '; +' union all '; +' select '; +' 0 as age0 , 1 as age10 , 0 as age20 , 0 as age30 , 0 as age40, 0 as age50 , 0 as age60 , 0 as age70, 0 as age80, month '; +' from table1 where age between 30 and 39 '; +' union all '; +' select '; +' 0 as age0 , 1 as age10 , 0 as age20 , 0 as age30 , 0 as age40, 0 as age50 , 0 as age60 , 0 as age70, 0 as age80, month '; +' from table1 where age between 40 and 49 '; +' union all '; +' select '; +' 0 as age0 , 1 as age10 , 0 as age20 , 0 as age30 , 0 as age40, 0 as age50 , 0 as age60 , 0 as age70, 0 as age80, month '; +' from table1 where age between 50 and 59 '; +' union all '; +' select '; +' 0 as age0 , 1 as age10 , 0 as age20 , 0 as age30 , 0 as age40, 0 as age50 , 0 as age60 , 0 as age70, 0 as age80, month '; +' from table1 where age between 60 and 69 '; +' union all '; +' select '; +' 0 as age0 , 1 as age10 , 0 as age20 , 0 as age30 , 0 as age40, 0 as age50 , 0 as age60 , 0 as age70, 0 as age80, month '; +' from table1 where age between 70 and 79 '; +' union all '; +' select '; +' 0 as age0 , 1 as age10 , 0 as age20 , 0 as age30 , 0 as age40, 0 as age50 , 0 as age60 , 0 as age70, 0 as age80, month '; +' from table1 where age > 80 '; +' where month = :hensu_month ';
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.