まずあるSQL結果の値配列をリスト型への値入れ替えていく
サンプルクエリー
users_id_query = '''
SELECT CAST(user_id as char) as user_id FROM users_table;
'''
※前提として user_id がint であるという点が重要。リスト型にしたかったらこれを変換しないとエラーになってしまう。
Python で上記のクエリー実行すておく。
users_ids = execute_query('my_database', users_id_query)
結果は「111,222,333」みたいにしたいわけ:
users_result = [str(x['user_id']) for x in users_ids['rows']]
users_ids_string = ','.join(users_result)
users_ids_string にはほしいような、カンマ区切りの値が見事に入ってくれる。
用意したリストを別のクエリーの IN で使う
サンプルSQL
users_login_query = '''
SELECT count(0) FROM login_log_table where user_id in (user_ids_string)
'''
「user_ids_string」は次で実際の値と置き換えるパラメータ。
entry_users_ids = execute_query('my_database', users_login_query.replace('user_ids_string', entry_users_ids_string))
実行先を指定しながら値も同時にリプレイス。