5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

つめSQL☆

1 :あっちゃん:03/02/15 21:03
つめSQLしたいと思います。
問題、解答を書いていってください。


2 :デフォルトの名無しさん:03/02/15 21:04
>>1
"つめ" って何ですか?

3 :あっちゃん:03/02/15 21:06
詰め将棋みたいな感じです。


4 :あっちゃん:03/02/15 21:07
問題:
アンケートデータを集計するためのテーブルがあります。
CREATE TABLE t_res
(
 resno        char(008) primary key,
 q1          int4,
 q2          char(004),
 q3          int4
);


質問は1〜3まであって、アンケートに答えるとこのテーブルに1レコード追加されます。
以下、質問内容です。


5 :あっちゃん:03/02/15 21:07
質問1
回答は「はい」か「いいえ」のいずれかになります。
「はい」と答えた場合は「1」、「いいえ」と答えた場合は「2」がq1に設定されます。

質問2
回答は複数選択できます。
例)好きな食べ物は?
1.プリン
2.ご飯
3.コーヒー
4.たばこ
「1.」と「3.」など、いくつも選択できるようなっています。
「1.」と「3.」を選んだ場合は「1010」がq2に設定されます。
「2.」だけを選んだ場合は「0100」になります。

質問3
また考えておきます。

ここで、質問2の集計をすることになりました。
回答1.〜4.の構成比をとりたいと思います。
どのようなSQLを書けばよいでしょうか?

※条件
・SQL発行は1度だけです。
・サブクエリ禁止です。


6 :デフォルトの名無しさん:03/02/15 21:16
何かもう、テーブル設計がダサダサすぎます。
正規化ということを理解してから問題出してね。
あとDBMS依存しないようにしないとつまんないよ。

ネタとしてはおもろいので、まずは>>1の精進をきぼんぬ。
セルコのSQLパズルより面白いスレにしてくれ。

7 :あっちゃん:03/02/15 21:30
>>6
完全に正規化したいんですけど、
他の事情により可能でなかった場合がありますよね。
そういう場合のテーブルなんです。

>まずは>>1の精進をきぼんぬ。
わかりました。がんばります!


8 :デフォルトの名無しさん:03/02/15 21:39
すみません。DEFAULTで自動で連番を作成する
カラムを作成したのですが、インサート直後にその
連番が何番なのか知るにはどうすればいいのでしょうか?
その連番以外にユニークなカラムはありません

環境: 埋め込みSQL DB2です

解答を同かよろしくお願いします

9 :デフォルトの名無しさん :03/02/15 21:59

以下のような union select で連結された長いSQL文を create function しようと
すると、エラーになります。(実際は、30〜40行辺りでエラーになっています。)

create table tbl
(t abstime,
f varchar(64));
create table a_tbl ()inherits(tbl);
create table b_tbl ()inherits(tbl);
-- このようなtblを継承したテーブルを沢山作成する。

create function t_func () returns setof tbl
as'
select * from a_tbl where t = ( select max(t) from a_tbl )
union select * from b_tbl where t = ( select max(t) from b_tbl )
union select * from c_tbl where t = ( select max(t) from c_tbl )
union select * from d_tbl where t = ( select max(t) from d_tbl )



union select * from xxx_tbl where t = ( select max(t) from xxx_tbl );
' language 'sql';


10 :デフォルトの名無しさん:03/02/16 04:08
  ∧_∧
 ( ´∀`)< ぬるぽ

4 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)