シェルスクリプト/MYSQL selectしたidを格納し他のSQL文で使用したい

実現したいこと

シェルスクリプトでDB①(MYSQL)からSELECTした値を配列にして、さらにDB②(MYSQL)のテーブルでその配列のidに部分一致する行をSELECTしたいです。

前提

シェルスクリプトで以下を実現したいのですが、SELECTしてきたidを配列にする方法、またその配列を使う方法がわからずご教示いただきたいです。

①select id from sampletable where selectid=21;の実行結果(id)を配列に格納
②別のSELECT分で配列のidに部分一致する行を抽出(こちらもわからずご教示いただきたいです)

該当のソースコード

shellscript

1#mysql.sh 2#!/bin/bash 3 4# ①SELCT結果を配列にする 5sql="select id from sampletable where selectid=21;" 6result=$(mysql -u${USER} -p${PASS} -D${DB} -h ${HOST} -e "${sql}") 7 8 9if [[ $? -eq 0 ]]; then 10 echo "${result}" | while read data 11 do 12 column=(`echo "$data"`) 13 echo "${column}" 14 done 15else 16 echo "db error." 17 exit 1 18fi 19 20# ②①の配列の値のidにカラム名mail_idが部分一致する行をSELECTで抽出 21 22select_sql="select * from dev_table where mail_id like "%${column}%"" 23result=$(mysql -u${USER2} -p${PASS2} -D${DB2} -h ${HOST2} -e "${select_sql}") 24

↓columnの中身(この結果を配列にしたい)

host@./mysql.sh id 1 3 4 5 6 7 8

コメントを投稿

0 コメント