
No.1000123の質問に類似しておりますが、ストアドで求めるのではなく、VB6SP4でCREATE VIEWを実行し、クロス集計のViewをデータベースに作成したいのです。
シリアルNo,商品No,発送日
A001,A,2004/09/10
A002,A,2004/09/14
A003,A,2004/09/14
B001,B,2004/09/10
B002,B,2004/09/14
C001,C,2004/09/18
を
商品No,2004/09/10,2004/09/14,2004/09/18
A,1,2,0
B,1,0,1
C,0,0,1
という形に出力したいときは、具体的にどういう手順でSQLを作成して実行すればよろしいでしょうか。
(日付部分が動的に増えたり減ったりします)
よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
ADOを想定していますが、こういう質問ですか?(これだとマルチユーザには対応できませんが)
cn.open "provider=・・・"
cmd.activeconnection=cn
cmd.commandtext="select distinct date_1 from Table"
rs1=cmd.execute
if not rs1.eof then
do until rs1.eof
str1 = str1 & "sum(case when 発送日='" & rs1(0) & "' then 1 end) as [" & rs1(0) & "],"
rs1.movenext
Loop
str1 = left(str1, len(str1)-1)
str2=str2 & " if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[V_TEST]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)"
str2=str2 & " drop view [dbo].[V_TEST]"
str2=str2 & " CREATE VIEW V_TEST AS SELECT 商品No," & str1 & " FROM Table Group by 商品No"
cmd.commandtext=str2
cmd.execute
end if
cn.close
No.1
- 回答日時:
select 商品No,
sum(case when 発送日='2004/09/10' then 1 end) as [2004/09/10],
sum(case when 発送日='2004/09/14' then 1 end) as [2004/09/14],
sum(case when 発送日='2004/09/18' then 1 end) as [2004/09/18],
・・・
From Table
Group by 商品No
VBからCreateするなら事前にどの発送日にデータがあるかを取得して
上記のSUM部分を動的に変えればよろしいかと。
この回答への補足
ご回答ありがとうございます。
手動で日付を書くやり方はわかりましたが、
日付の部分が動的に変化します。
その日付の部分の動的な処理の方法をご教授願います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux Linuxの実行結果を修正したいです。 6 2022/11/22 12:57
- Excel(エクセル) Excelの操作方法を教えてください!頭文字2~8文字で特定の値に返す方法 8 2022/07/14 11:26
- 楽天市場 市販新品購入DVD再生できないのは? 3 2022/05/19 01:35
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- その他(ビジネススキル・経営ノウハウ) クラウドファウンディングによる新製品の販売支援要求。「あれ?この商品、もう完成品じゃね?」という疑問 2 2022/08/22 12:32
- Excel(エクセル) VBAで同フォルダ内の別ブックを開かず参照して条件の一致する行の指定セルを抽出するには? 1 2022/07/21 19:29
- Access(アクセス) アクセスのグループ化で、 No.が10番台のJPY合計 No.が20番台のJPY合計 No.が30番 1 2022/12/20 14:39
- Google Maps エクセルについて 2 2022/11/27 11:00
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
select文のwhere句に配列を入れ...
-
VIEWの元のテーブルのindexって...
-
SQLサーバから、項目の属性(型...
-
Access パラメータクエリをcsv...
-
エクセルで最後の文字だけ置き...
-
エクセルの関数について教えて...
-
MySQLのint型で001と表示する方...
-
1テーブル&複数レコードの更新...
-
複数のテーブルの重複データを...
-
入力値と外部キーをINSERTするには
-
項目の値を全部消すには?
-
SQL Left Join で重複を排除す...
-
WHERE id = ? について
-
ギターのコードが分からない
-
ストアドのエラーについて
-
複数の項目をnullの場合非表示...
-
複数JOINしているとCOUNTが正し...
-
副問合せの書き方について
-
Excel2000でレーダーチャートの...
-
”photo id” とは何ぞや?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
エクセルの関数について教えて...
-
select文のwhere句に配列を入れ...
-
VIEWの元のテーブルのindexって...
-
エラー 1068 (42000): 複数の主...
-
SQLにて特定の文字を除いた検索...
-
【Transact-sql】 execの結果を...
-
マイクラPC版のコマンドで効率...
-
SQL Left Join で重複を排除す...
-
sqlで、600行あるテーブルを100...
-
複数テーブルのGROUP BY の使い...
-
WordpressのContact form 7でzi...
-
クエリ表示と、ADOで抽出したレ...
-
SQLサーバから、項目の属性(型...
-
selectした大量データをinsert...
-
Access パラメータクエリをcsv...
-
副問合せの書き方について
-
inner joinをすると数がおかし...
-
insertを高速化させたい
-
[MySQL] 3つのテーブルの結合で...
おすすめ情報