キーワードを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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) セルの値をグーグルで検索するエクセルVBAについて! 2 2022/08/01 21:41
- MySQL SQLで日付別のIDを生成するには 3 2022/10/09 10:34
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- Access(アクセス) Dlookupにエラーがでてしまう 1 2022/10/31 14:35
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- YouTube Googleアカウント1個で複数のYouTubeチャンネルを作った場合、登録者数などは通算される? 4 2022/05/16 14:22
- その他(ブログ) ブログを始めたいと思うのですが、下記のような場合のおすすめブログサービスを教えてください。 収益化な 4 2023/04/10 10:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
多値従属
-
accessのvbaでの実行時エラーに...
-
列名が無効です
-
Thunderbirdのインポートの処理...
-
キャッシュとバッファの違いは?
-
DB2 UDBって?
-
ACCESS2019でのエラーメッセージ
-
型 varchar から型 numeric へ...
-
ACCESSで条件付き書式の設定方法
-
AndroidからのAccessデータベー...
-
Accessのレポートで「縦書き」...
-
データベースの2GBって・・・?
-
ODBC経由の処理が遅い
-
エクセルのフォームについて(...
-
データベースに接続したままの...
-
CDの売上枚数を知りたいのですが
-
データベースのウェブでの自作
-
データベースソフトのTCARDにつ...
-
データベースの最適化をマクロ...
-
accessの勉強ができるサイトは?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
希望の位置へフィールドを追加...
-
accessのvbaでの実行時エラーに...
-
FindFirst複数条件
-
[ACCESS/VBA]動的にSQL文を...
-
Access2000のVBAでコンパイルエ...
-
エクセルからアクセスにADO...
-
Access 余分な件数分データ削除...
-
ISBN検索システムの利用について
-
Accessでメッセージを表示しき...
-
DAO フィルターをかけたい エ...
-
データベースの変換
-
VBAのfor next で繰り返しが出...
-
型 varchar から型 numeric へ...
-
VB.netのADOってなんですか?
-
AndroidからのAccessデータベー...
-
データベースの最適化をマクロ...
-
データベースの2GBって・・・?
-
リスト形式の表とデータベース...
-
汎用カード型のデータベースソ...
-
構文エラー:演算子がありませ...
おすすめ情報