アクセスに関してです。


アクセスのクエリで出力されたデータの重複があるので
重複がでないようにしたいです。

【質問1】
カラムAの重複分だけ削除したい。その方法をお教えください。

【質問2】
クエリで抽出したデータを最後はCSVとして出力したのですが
カラム名を変更したいです。
良い方法はありますでしょうか。

【質問3】
クエリで出力したデータのカラムBの全ての行に、「n」という
文字列を入れたいです。
カラムB
n
n
n
n
n



どのように設定したら良いでしょうか?

以上、3点に関してお教え頂けますでしょうか。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2011/11/29 14:43:49
  • 終了:2011/11/29 19:48:47

ベストアンサー

id:windofjuly No.2

うぃんど回答回数2625ベストアンサー獲得回数11492011/11/29 16:25:27

ポイント100pt

【1】カラムAの重複分だけ削除したい
データによって変わってきますのでサンプルが必要です
例えばクエリの結果が下記であった場合に
単純にカラムAの重複を消してしまうだけでは処理としてなりたちませんよね?

カラムA個数単価
りんご3150
りんご2150
みかん1100

例えば下記のように合計を計算する必要があったり、

カラムA個数単価
りんご5150
みかん1100

例えば単純に無視して最初に見つかった値を取ってきたり・・・

カラムA個数単価
りんご3150
みかん1100

具体的なデータサンプルと結果サンプルか、あるいは、
カラムBやカラムCがxxのときはyyするといった条件がないと、
式として組み立てることが出来ないのです

【2】カラム名の変更
クエリビューであればフィールドの欄にて下記のように書きます

新しいカラム名:元のカラム
あるいは
新しいカラム名:計算式

SQLビューであれば下記のような具合です(以前の質問から取ってきます)

MySplit(tablevalue,":",0) AS 新しいカラム名

【3】カラムBのすべての行に「n」という文字を入れたい
クエリビュー

新しいカラム名:"n"&元のカラム

SQLビュー

"n" & MySplit(tablevalue,":",0) AS 新しいカラム名
"n" & 元のカラム AS 新しいカラム名

月末月初の応答は翌日以降になる場合があります・・・ごめんなさい

他6件のコメントを見る
id:windofjuly

(a)文字列を全部につける
"http://kkkkk/" & 元のカラム AS 新しいカラム名
(b)AAAAAを含んでいないクエリ
GROUP BY code の書き忘れ

(a)(b)両方含めたSQL

SELECT "http://kkkkk/" & code AS AAAAAAA
, First(MySplit(tablevalue,":",0)) AS1
, First(MySplit(tablevalue,":",1)) AS2
, First(MySplit(tablevalue,":",2)) AS3
, First(MySplit(tablevalue,":",3)) AS4
FROM Shouhin
GROUP BY code
;
2011/11/29 20:03:32
id:martytaka

すごいっす!
これで全て完成しました。
誠にありがとうございました。
またの機会にも、ぜひ、よろしく、お願いいたします。

2011/11/30 13:01:40

その他の回答(1件)

id:kodairabase No.1

kodairabase回答回数661ベストアンサー獲得回数802011/11/29 15:09:29

【質問1】
Access 2002 で重複するレコードを見つけて削除する
http://office.microsoft.com/ja-jp/access-help/HA001034558.aspx

【質問2】
クエリのフィールド名を変更する
http://office.microsoft.com/ja-jp/access-help/HP005188440.aspx

id:windofjuly No.2

うぃんど回答回数2625ベストアンサー獲得回数11492011/11/29 16:25:27ここでベストアンサー

ポイント100pt

【1】カラムAの重複分だけ削除したい
データによって変わってきますのでサンプルが必要です
例えばクエリの結果が下記であった場合に
単純にカラムAの重複を消してしまうだけでは処理としてなりたちませんよね?

カラムA個数単価
りんご3150
りんご2150
みかん1100

例えば下記のように合計を計算する必要があったり、

カラムA個数単価
りんご5150
みかん1100

例えば単純に無視して最初に見つかった値を取ってきたり・・・

カラムA個数単価
りんご3150
みかん1100

具体的なデータサンプルと結果サンプルか、あるいは、
カラムBやカラムCがxxのときはyyするといった条件がないと、
式として組み立てることが出来ないのです

【2】カラム名の変更
クエリビューであればフィールドの欄にて下記のように書きます

新しいカラム名:元のカラム
あるいは
新しいカラム名:計算式

SQLビューであれば下記のような具合です(以前の質問から取ってきます)

MySplit(tablevalue,":",0) AS 新しいカラム名

【3】カラムBのすべての行に「n」という文字を入れたい
クエリビュー

新しいカラム名:"n"&元のカラム

SQLビュー

"n" & MySplit(tablevalue,":",0) AS 新しいカラム名
"n" & 元のカラム AS 新しいカラム名

月末月初の応答は翌日以降になる場合があります・・・ごめんなさい

他6件のコメントを見る
id:windofjuly

(a)文字列を全部につける
"http://kkkkk/" & 元のカラム AS 新しいカラム名
(b)AAAAAを含んでいないクエリ
GROUP BY code の書き忘れ

(a)(b)両方含めたSQL

SELECT "http://kkkkk/" & code AS AAAAAAA
, First(MySplit(tablevalue,":",0)) AS1
, First(MySplit(tablevalue,":",1)) AS2
, First(MySplit(tablevalue,":",2)) AS3
, First(MySplit(tablevalue,":",3)) AS4
FROM Shouhin
GROUP BY code
;
2011/11/29 20:03:32
id:martytaka

すごいっす!
これで全て完成しました。
誠にありがとうございました。
またの機会にも、ぜひ、よろしく、お願いいたします。

2011/11/30 13:01:40

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません