キーワードを1つにまとめたいです
こんにちは。下記のようなIDに対し、複数のキーワードが登録されています。
TABLE1
フィールド、ID、KW
ID,KW
001,ice
001,cold
001,tastegood
002,book
002,google
003,analytics
003,excite
003,yahoo
003,sql
といったようにデータが登録されています。
これだと見にくいのでクエリで下記のように整形したいと思います。
001 ice cold tastegood
002 book google
003 analytics excite yahoo sql
半角スペースで区切りたいと思います。MYSQL5.1かMS ACCESS2003で
やれればと思っています。よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
No.1
- 回答日時:
以下、Accessでの方法です。
クエリで表示するならば、
http://www.f3.dion.ne.jp/~element/msaccess/AcTip …
テーブルに直接取り込むならば、
http://oshiete1.watch.impress.co.jp/qa6628827.html
の書き直しで、
TABLE1と同じ構造のTABLE2を設定し、
TABLE2: ID KW
以下のコードを標準モジュールに保存し、
ボタンクリックで呼び出すか、あるいは
ボタンクリックの中にプロシージャの
中身をコピーして実行してもいいです。
なお、DAOを使っているので、コード表のツールから
参照設定を選択して、
Microsoft DAO xx Object Library
にチェックを入れて、OKとします。xxは3.6のような数字です。
Sub test()
Dim db As Database
Dim rs1 As Recordset
Dim rs2 As Recordset
Dim rs3 As Recordset
Dim strSQL As String
Dim myStr1 As String
Dim myStr2 As String
strSQL = "SELECT TABLE1.ID FROM TABLE1 GROUP BY TABLE1.ID;"
Set db = CurrentDb
Set rs1 = db.OpenRecordset("TABLE1")
Set rs2 = db.OpenRecordset("TABLE2", dbOpenDynaset)
Set rs3 = db.OpenRecordset(strSQL)
If rs3.RecordCount > 0 Then
rs3.MoveFirst
Do Until rs3.EOF
If rs1.RecordCount > 0 Then
rs1.MoveFirst
Do Until rs1.EOF
If rs3!ID = rs1!ID Then
myStr1 = rs1!ID
myStr2 = myStr2 & " " & rs1!KW
End If
rs1.MoveNext
Loop
rs3.MoveNext
End If
rs2.AddNew
rs2!ID = myStr1
rs2!KW = myStr2
rs2.Update
myStr1 = ""
myStr2 = ""
Loop
End If
rs1.Close: Set rs1 = Nothing
rs2.Close: Set rs2 = Nothing
rs3.Close: Set rs3 = Nothing
db.Close: Set db = Nothing
End Sub
コードまで書いていただいてありがとうございます!なるほど、これならできそうですね!ご回答ありあとうございました!!ちなみに今回はmysqlのgroup_concat関数を使おうと思います。でも、勉強になります、助かりました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
accessのvbaでの実行時エラーに...
-
型 varchar から型 numeric へ...
-
データベースの最適化をマクロ...
-
値がこの列の整合性制約に違反...
-
データベースの2GBって・・・?
-
Access 外部データ インポー...
-
accessを自宅のパソコンにイン...
-
クエリをキャンセルしたいので...
-
sqlite2とsqlite3の違いについて
-
Developer2000って何?(^^;
-
バッチファイルから直接db2コマ...
-
Access→Oracleデータ参照にはAD...
-
初心者です。Accessを使って、...
-
図書館などの検索用PC
-
listener.logが肥大化
-
Accessのレポートで「縦書き」...
-
AndroidからのAccessデータベー...
-
エクセルのマクロ
-
応答電文?
-
構文エラー:演算子がありませ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
希望の位置へフィールドを追加...
-
Access 余分な件数分データ削除...
-
[ACCESS/VBA]動的にSQL文を...
-
パススルークエリの使い方について
-
FindFirst複数条件
-
accessのvbaでの実行時エラーに...
-
Access2000のVBAでコンパイルエ...
-
whileが上手く回らず困っています
-
列名が無効です
-
Berkeley DB 1.85 -> GNU dbm ...
-
VBAのfor next で繰り返しが出...
-
sqlite_open()なんですが
-
AndroidからのAccessデータベー...
-
型 varchar から型 numeric へ...
-
データベースの最適化をマクロ...
-
DB2 UDBって?
-
エクセルの重複データの曖昧検索
-
スタライズとは、どういう意味...
-
データベースの2GBって・・・?
-
構文エラー:演算子がありませ...
おすすめ情報