Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5535 / 9994 ←次へ | 前へ→

【7676】Re:データの並べ替えについて
回答  小僧  - 06/4/12(水) 9:54 -

引用なし
パスワード
   ▼SinjiM さん:
おはようございます。

>例えば、FLD1、FLD2、FLD3ともにゼロのレコードを除外する場合

当方が思いつく限りですが、方法は2通りあると思われます。

1) Unionクエリを作る前の段階で除外

TRANSFORM Max(P.FLD1) AS FLD1の最大
SELECT P.Code
FROM [
SELECT テーブル名.Code,
テーブル名.Name & "_FLD1" AS FLD0,
テーブル名.FLD1
FROM テーブル名
WHERE (テーブル名.FLD1=0 And テーブル名.FLD2=0 And テーブル名.FLD3=0)=False
UNION ALL
SELECT テーブル名.Code,
テーブル名.Name & "_FLD2" AS FLD0,
テーブル名.FLD2
FROM テーブル名
WHERE (テーブル名.FLD1=0 And テーブル名.FLD2=0 And テーブル名.FLD3=0)=False
UNION ALL
SELECT テーブル名.Code,
テーブル名.Name & "_FLD3" AS FLD0,
テーブル名.FLD3
FROM テーブル名
WHERE (テーブル名.FLD1=0 And テーブル名.FLD2=0 And テーブル名.FLD3=0)=False
]. AS P
GROUP BY P.Code
PIVOT P.FLD0


2)Unionクエリ結合後に除外

TRANSFORM Max(P.FLD1) AS FLD1の最大
SELECT P.code
FROM [
SELECT
テーブル名.code,
テーブル名.Name,
テーブル名.name & "_FLD1" AS FLD0,
テーブル名.FLD1
FROM テーブル名
UNION ALL
SELECT
テーブル名.code,
テーブル名.Name,
テーブル名.name & "_FLD2" AS FLD0,
テーブル名.FLD2
FROM テーブル名
UNION ALL
SELECT
テーブル名.code,
テーブル名.Name,
テーブル名.name & "_FLD3" AS FLD0,
テーブル名.FLD3
FROM テーブル名
]. AS P
INNER JOIN テーブル名
ON (P.code = テーブル名.Code) AND (P.Name = テーブル名.Name)
WHERE
([テーブル名].[FLD1]=0 And [テーブル名].[FLD2]=0 And [テーブル名].[FLD3]=0)=False
GROUP BY P.code,
[テーブル名].[FLD1]=0 And [テーブル名].[FLD2]=0 And [テーブル名].[FLD3]=0
PIVOT P.FLD0;


条件抽出に「FLD1=0」かつ「FLD2=0」かつ「FLD3=0」が偽(笑)という
何とも複雑な SQL文を書いておりますが、
例えば 各FLDの値はマイナスにならない、という仕様があれば

FLD1 + FLD2 + FLD3 > 0

のような単純な WEHRE句 も使えるかと思われます。

348 hits

【7619】データの並べ替えについて SinjiM 06/3/30(木) 20:58 質問
【7623】Re:データの並べ替えについて Gin_II 06/3/30(木) 23:06 発言
【7627】Re:データの並べ替えについて SinjiM 06/3/31(金) 10:54 質問
【7635】Re:データの並べ替えについて 小僧 06/4/2(日) 20:19 発言
【7652】Re:データの並べ替えについて SinjiM 06/4/6(木) 8:36 質問
【7659】Re:データの並べ替えについて 小僧 06/4/6(木) 16:37 回答
【7674】Re:データの並べ替えについて SinjiM 06/4/11(火) 12:45 質問
【7676】Re:データの並べ替えについて 小僧 06/4/12(水) 9:54 回答
【7683】Re:データの並べ替えについて SinjiM 06/4/13(木) 7:49 質問
【7684】Re:データの並べ替えについて SinjiM 06/4/13(木) 7:51 お礼

5535 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078229
(SS)C-BOARD v3.8 is Free