パスワードを忘れた? アカウント作成
504364 journal

Katuragiの日記: 本日の命題2:その後 2

日記 by Katuragi

集計クエリから引っ張る方法でいける!と思ったのですが、

例えば↓には対応できるのですが、

IID | itemName
---------------
No5 |

逆パターンは

IID | itemName
--------------
    |    D

IIDをキーにしている以上対応できないですよね。

う~ん、これがありえることに気づいてしまいました。

最後結果を出力するところで
ないDを 出力できないかなぁ

結果

ID  | itemA | itemB | itemC | itemD |
-------------------------------------
No1 |   ○   |   ○  |       |       |
No2 |       |   ○  |   ○   |       |
No3 |   ○   |      |   ○   |       |
No4 |       |       |   ○  |       |
No5 |       |       |       |       |

# XPからの書き込みなので等幅がきれい:)

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by eukare (2230) on 2007年01月25日 21時59分 (#1098402) 日記
    カラムは途中でどうこうできませんしね。
    基本的にiifを必要な分だけ並べるしかないような。

    「'E'が無い」ではなく「'','A','B','C','D'以外はない」であれば、

    select IID as ID,iif(sum(A)>0,'○','') as itemA,~,iif(sum(D)>0,'○','') as itemD,iif(sum(X)>0,'○','') as itemX from
    (select IID,iif(itemName='A',1,0) as A ,~,iif(itemName='D',1,0) as D,iif(itemName not in('','A','B','C','D'),1,0) as X from 元DB) group by IID

    とかどうでしょ。
    #Accessってin条件文使えたっけかなあ?
    itemXに○が無ければ「'','A','B','C','D'以外はない」事になりますが。
    • 実データは「以外はない」が一定ではなく数が多いため(さすがに50とかはないけど)ちょっとムリポです。

      eukaraさんが先に示してくれたSQL文でも空がちゃんと表示されましたので、
      今日はここまでで明日またちょっと考えることになりそうです。

      --
      -- ラテール部参加者募集中
      親コメント
typodupeerror

物事のやり方は一つではない -- Perlな人

読み込み中...