人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

アクセスに関してです。

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

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

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

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



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

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


●質問者: martytaka
●カテゴリ:コンピュータ 科学・統計資料
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● kodairabase
●0ポイント

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

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


2 ● うぃんど
●100ポイント ベストアンサー

【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 新しいカラム名

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


martytakaさんのコメント
ありがとうございます。 重複削除の定義は、銭湯だけ表示するというものになります。 カラム名、チャレンジしてみますね。

うぃんどさんのコメント
【1】 >|sql| SELECT カラムA , First(カラムB) , First(カラムC) FROM テーブル GROUP BY カラムA ||< First関数は最初に見つかった値を持ってくるというだけなので、 必ずしもテーブルを開いたときの並びにはならないとだけ覚えて置いてください 例えば最新の日付の値が欲しいなどとなると、別の手段が必要ということです 以上、取り急ぎSQLだけで失礼

martytakaさんのコメント
ありがとうございます。 ちなみに、これは、 , MySplit(tablevalue,":",0) AS 式1 には、どのように、書くのでしょうか?

うぃんどさんのコメント
First関数で囲ってやります >|sql| , First(MySplit(tablevalue,":",0)) AS 式1 ||<

martytakaさんのコメント
ありがとうございます! やってみます! また、別件で大変恐縮なのですが、 クエリで抽出したカラムAの中のデータの頭に http://kkkkk/という文字列を全部につけるには、 どのようにしたら、よろしいでしょうか。 お忙しい所、大変、恐縮ですが、よろしければ 何卒、よろしく、お願いいたします。

martytakaさんのコメント
SELECT code AS AAAAAAA , First(MySplit(tablevalue,":",0)) AS 式1 , First(MySplit(tablevalue,":",1)) AS 式2 , First(MySplit(tablevalue,":",2)) AS 式3 , First(MySplit(tablevalue,":",3)) AS 式4 FROM Shouhin; 実行した所、「集計関数の一部として指定された式AAAAAを含んでいないクエリを 実行しようとしました」と出てしまいました。。。涙

うぃんどさんのコメント
(a)文字列を全部につける "http://kkkkk/" & 元のカラム AS 新しいカラム名 (b)AAAAAを含んでいないクエリ GROUP BY code の書き忘れ (a)(b)両方含めたSQL >|sql| SELECT "http://kkkkk/" & code AS AAAAAAA , First(MySplit(tablevalue,":",0)) AS 式1 , First(MySplit(tablevalue,":",1)) AS 式2 , First(MySplit(tablevalue,":",2)) AS 式3 , First(MySplit(tablevalue,":",3)) AS 式4 FROM Shouhin GROUP BY code ; ||<

martytakaさんのコメント
すごいっす! これで全て完成しました。 誠にありがとうございました。 またの機会にも、ぜひ、よろしく、お願いいたします。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ