PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
9271 | 99/11/16 10:38:13 | RE(19):PB6: クロスタブで列のソートがしたい。 By chooco |
9270 | 99/11/16 10:24:29 | RE(18):PB6: クロスタブで列のソートがしたい。 By あすかちゃんの父 |
9269 | 99/11/15 20:27:13 | RE(17):PB6: クロスタブで列のソートがしたい。 By あすかちゃんの父 |
9263 | 99/11/15 17:18:18 | RE(16):PB6: クロスタブで列のソートがしたい。 By chooco |
9261 | 99/11/15 16:54:16 | RE(15):PB6: クロスタブで列のソートがしたい。 By あすかちゃんの父 |
9260 | 99/11/15 16:18:22 | RE(14):PB6: クロスタブで列のソートがしたい。 By chooco |
9259 | 99/11/15 15:59:45 | RE(13):PB6: クロスタブで列のソートがしたい。 By M.M |
9258 | 99/11/15 15:59:43 | RE(12):PB6: クロスタブで列のソートがしたい。 By あすかちゃんの父 |
9257 | 99/11/15 15:40:21 | RE(11):PB6: クロスタブで列のソートがしたい。 By chooco |
9255 | 99/11/15 15:09:33 | RE(10):PB6: クロスタブで列のソートがしたい。 By M.M |
9254 | 99/11/15 14:50:28 | RE(9):PB6: クロスタブで列のソートがしたい。 By chooco |
9252 | 99/11/15 14:34:09 | RE(8):PB6: クロスタブで列のソートがしたい。 By M.M |
9251 | 99/11/15 14:29:31 | RE(7):PB6: クロスタブで列のソートがしたい。 By chooco |
9233 | 99/11/12 18:14:28 | RE(6):PB6: クロスタブで列のソートがしたい。 By chooco |
9222 | 99/11/12 15:28:57 | RE(5):PB6: クロスタブで列のソートがしたい。 By てとらぽっと |
9214 | 99/11/12 13:40:36 | RE(4):PB6: クロスタブで列のソートがしたい。 By chooco |
9209 | 99/11/12 13:13:52 | RE(3):PB6: クロスタブで列のソートがしたい。 By あすかちゃんの父 |
9207 | 99/11/12 12:57:09 | RE(2):PB6: クロスタブで列のソートがしたい。 By chooco |
9205 | 99/11/12 12:36:37 | RE(1):PB6: クロスタブで列のソートがしたい。 By まこと |
9203 | 99/11/12 12:02:25 | PB6: クロスタブで列のソートがしたい。 By chooco |
カテゴリ:PowerBuilderの開発環境
日付:1999年11月15日 20:27 発信者:あすかちゃんの父
題名:RE(17):PB6: クロスタブで列のソートがしたい。
choocoさん、こんばんは。
サブクエリによるクロス集計は、
?列は、親SELECT文に必要なだけのサブクエリのSELECT文を埋め込
まなければならない。
?クロス集計は、1つのテーブルのデータの直交性を利用する。
という性質があります。
例えばプロジェクト管理のデータの適当な例ですが、
プロジェクト名|フェーズ名|完了日
プロジェクトA|フェーズ1|99/11/01・・・?
プロジェクトA|フェーズ2|99/11/15・・・?
プロジェクトB|フェーズ1|99/11/05・・・?
プロジェクトB|フェーズ2|null
プロジェクトC|フェーズ1|null
というテーブルがあったとして、行をプロジェクト、
列をフェーズでフォーマットするSQLは、
SELECT DISTINCT T1.プロジェクト名,
(SELECT T2.完了日
FROM TABLE as T2
WHERE T1.プロジェクト名 = T2.プロジェクト名
AND T2.フェーズ名 = \'フェーズ1\') as \'Ph1\',
(SELECT T2.完了日
FROM TABLE as T2
WHERE T1.プロジェクト名 = T2.プロジェクト名
AND T2.フェーズ名 = \'フェーズ2\') as \'Ph2\'
FROM TABLE as T1;
というSQLを実行したとします。このSQLは列が、プロ
ジェクト名・フェーズ1完了日・フェーズ2完了日、と
なります。
この時の動きとしては、?のデータを親SELECT文が検
索してくると、T1.プロジェクト名 = プロジェクトA
という条件でサブクエリを検索します。
プロジェクトAに該当するフェーズ1の完了日、99/11/01
をPh1のカラムに返してきます。同じくプロジェクトA
に該当するフェーズ2の完了日、99/11/15をPh2のカラ
ムに返してきます。
?のデータを親SELECT文が検索してくると、?と同じ
結果が返ってくるので、DISTINCT句で1行に集約します。
?のデータを親SELECT文が検索してくると、
T1.プロジェクト名 = プロジェクトBという条件でサブ
クエリを検索します。
(続く)
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows95
DBMS (記載なし)
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Sybase SQL Server System 10
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.