回答編集履歴

1

追記

2018/04/12 05:59

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  ```SQL
10
10
 
11
- insert DB_C.テーブル4(カラム,・・・)
11
+ insert into DB_C.テーブル4(カラム,・・・)
12
12
 
13
13
  select カラム,・・・・
14
14
 
@@ -29,3 +29,43 @@
29
29
  ```
30
30
 
31
31
  ※どのような編集を行った結果を追加するのか不明なので、あくまでサンプルです。
32
+
33
+
34
+
35
+ 尚、上記のように複数のデータベースに跨って参照するためには、参照先のデータベースに対して権限を持っているアカウントである必要があります。(スーパーユーザーなど)
36
+
37
+
38
+
39
+ 追記
40
+
41
+ ---
42
+
43
+ 同一ユーザを識別する項目があるはずなので、それを仮に```user_id```とします。
44
+
45
+ ```SQL
46
+
47
+ insert into DB_C.table4(user_id, user_name)
48
+
49
+ select fname.user_id, concat(fname.meta_value, ' ', lname.meta_value) as user_name
50
+
51
+ from DB_A.table1 fname inner join DB_A.table1 lname
52
+
53
+ on fname.user_id=lname.user_id and fname.metakey='first_name' and lname.metakey='last_name'
54
+
55
+ union all
56
+
57
+ select fname.user_id, concat(fname.meta_value, ' ', lname.meta_value)
58
+
59
+ from DB_A.table2 fname inner join DB_A.table2 lname
60
+
61
+ on fname.user_id=lname.user_id and fname.metakey='first_name' and lname.metakey='last_name'
62
+
63
+ union all
64
+
65
+ select fname.user_id, concat(fname.meta_value, ' ', lname.meta_value)
66
+
67
+ from DB_B.table3 fname inner join DB_B.table3 lname
68
+
69
+ on fname.user_id=lname.user_id and fname.metakey='first_name' and lname.metakey='last_name'
70
+
71
+ ```