質問編集履歴

2

セキュリティの関わる問題なので削除させていただきました。

2018/06/18 10:16

投稿

amaguri
amaguri

スコア227

test CHANGED
@@ -1 +1 @@
1
- cakephp 2つクエリ呼び出した値を意図つのデータとしいた
1
+ セキュリティ関わる問題なの削除させていただきました
test CHANGED
@@ -1,225 +1 @@
1
- ```ここに言語を入力
2
-
3
- $sql ="select COLUMNS_V2.* from COLUMNS_V2 COLUMNS_V2 inner join SDS SDS on SDS.CD_ID = COLUMNS_V2.CD_ID inner join TBLS TBLS on SDS.SD_ID = TBLS.SD_ID and TBLS.TBL_NAME='$tbl_name' and TBLS.DB_ID = $db_id;";
4
-
5
-
6
-
7
- $sql="select * from PARTITION_KEYS where TBL_ID=$tbl_id;";
8
-
9
- ```
10
-
11
- ```ここに言語を入力
12
-
13
- 二つのDBのデータ型
14
-
15
- COLUMNS_V2
16
-
17
- CD_ID | COMMENT | COLUMN_NAME| TYPE_NAME | INTEGER_IDX
18
-
19
-
20
-
21
- PARTITION_KEYS
22
-
23
- | TBL_ID | PKEY_COMMENT | PKEY_NAME | PKEY_TYPE | INTEGER_IDX
24
-
25
-
26
-
27
- このテーブルで取得したデータを一つのデータとして
28
-
29
- 扱いたいです
30
-
31
- ```
32
-
33
- この二つのクエリで導いた値を一つのデータとして
34
-
35
- 既存のtbl_data.ctp内の下記クエリにまとめて判定したい。
36
-
37
- ```ここに言語を入力
38
-
39
- <?php
40
-
41
- if(preg_match("/^".$colomn_name."=.*/", $partition['PARTITIONS']['PART_NAME'])){
42
-
43
- $partition_flg=1;
44
-
45
- $partition_name[]=$partition['PARTITIONS']['PART_NAME']; // マッチしたものを配列に入れる
46
-
47
- }
48
-
49
- ?>
50
-
51
-
52
-
53
- <?php echo 'カラム名:',$colomn_name.PHP_EOL,'データ型:',$name['COLUMNS_V2']['TYPE_NAME'],'パーティションフラグ:', $partition_flg;?>
54
-
55
-
56
-
57
- ```
58
-
59
-
60
-
61
- ```ここに言語を入力
62
-
63
- <?php
64
-
65
- class EntityController extends AppController {
66
-
67
- var $name = 'Entity';
68
-
69
- var $components = array('RequestHandler','Auth','Common');
70
-
71
- var $user;
72
-
73
-
74
-
75
- function index() {
76
-
77
-
78
-
79
- $this->Entity->setDataSource('hive');
80
-
81
- //$this->layout='entity';//使用するレイアウト
82
-
83
- //DB一覧取得
84
-
85
- $sql ="select * from DBS;";
86
-
87
- $result= $this->Entity->query($sql);
88
-
89
- $this->set('para', $result);
90
-
91
- }
92
-
93
-
94
-
95
- function entity_tbl($db_id){
96
-
97
- $this->Entity->setDataSource('hive');
98
-
99
- $sql ="select * from TBLS where DB_ID =$db_id;";
100
-
101
- $result= $this->Entity->query($sql);
102
-
103
- $this->set('para', $result);
104
-
105
- }
106
-
107
-
108
-
109
- function tbl_data($tbl_name,$db_id,$tbl_id){
110
-
111
- $this->Entity->setDataSource('hive');
112
-
113
- debug($tbl_name);
114
-
115
- debug($db_id);
116
-
117
- debug($tbl_id);
118
-
119
- $sql ="select COLUMNS_V2.* from COLUMNS_V2 COLUMNS_V2 inner join SDS SDS on SDS.CD_ID = COLUMNS_V2.CD_ID inner join TBLS TBLS on SDS.SD_ID = TBLS.SD_ID and TBLS.TBL_NAME='$tbl_name' and TBLS.DB_ID = $db_id;";
120
-
121
- $result= $this->Entity->query($sql);
122
-
123
- $this->set('para', $result);
124
-
125
-
126
-
127
- //今回追加するクエリ文
128
-
129
- $sql="select * from PARTITION_KEYS where TBL_ID=$tbl_id;";
130
-
131
- $partition_keys= $this->Entity->query($sql);
132
-
133
- $this->set('partition_keys', $result);
134
-
135
-
136
-
137
- $sql ="select * from PARTITIONS where TBL_ID ='$tbl_id';";
138
-
139
- $partitions= $this->Entity->query($sql);
140
-
141
- $this->set('partitions', $partitions);
142
-
143
-
144
-
145
- }
146
-
147
- ```
148
-
149
- ```ここに言語を入力
150
-
151
- tbl_data.ctp
152
-
153
-
154
-
155
- <!DOCTYPE html>
156
-
157
- <html>
158
-
159
- <head>
160
-
161
- <meta charset="utf-8">
162
-
163
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
164
-
165
- <title></title>
166
-
167
- <link rel="stylesheet" href="">
168
-
169
- </head>
170
-
171
- <body>
172
-
173
- <h2>テーブル一覧</h2>
174
-
175
- <ul>
176
-
177
- <?php foreach((array)$para as $name): ?>
178
-
179
- <?php $colomn_name=$name['COLUMNS_V2']['COLUMN_NAME'];?>
180
-
181
- <?php $partition_flg=0; ?>
182
-
183
- <?php $partition_name=array(); ?>
184
-
185
- <?php foreach((array)$partitions as $partition): ?>
186
-
187
- <?php
188
-
189
- if(preg_match("/^".$colomn_name."=.*/", $partition['PARTITIONS']['PART_NAME'])){
190
-
191
- $partition_flg=1;
192
-
193
- $partition_name[]=$partition['PARTITIONS']['PART_NAME']; // マッチしたものを配列に入れる
194
-
195
- }
196
-
197
- ?>
198
-
199
- <?php endforeach; ?>
200
-
201
- <li>
202
-
203
- <?php echo 'カラム名:',$colomn_name.PHP_EOL,'データ型:',$name['COLUMNS_V2']['TYPE_NAME'],'パーティションフラグ:', $partition_flg;?>
204
-
205
- </li>
206
-
207
- <?php if($partition_flg): ?>
208
-
209
- <?php echo 'パーティション情報:' . implode($partition_name);?>
210
-
211
- <?php endif; ?>
212
-
213
- <?php endforeach; ?>
214
-
215
- </ul>
216
-
217
- </body>
218
-
219
- </html>
220
-
221
- ```
222
-
223
- どうすれば
224
-
225
- 二つのDBから取得したデータを一つとして使用できるでしょうか?
1
+ セキュリティの関わる問題なので削除させていただきました。

1

修正

2018/06/18 10:16

投稿

amaguri
amaguri

スコア227

test CHANGED
@@ -1 +1 @@
1
- cakephp 2つのクエリで呼び出した値を意図つのータとして扱いたい。
1
+ cakephp 2つのクエリで呼び出した値を意図つのータとして扱いたい。
test CHANGED
@@ -30,7 +30,7 @@
30
30
 
31
31
  ```
32
32
 
33
- この二つのクエリで導いた値を一つのデータとして合体したい。
33
+ この二つのクエリで導いた値を一つのデータとして
34
34
 
35
35
  既存のtbl_data.ctp内の下記クエリにまとめて判定したい。
36
36
 
@@ -219,3 +219,7 @@
219
219
  </html>
220
220
 
221
221
  ```
222
+
223
+ どうすれば
224
+
225
+ 二つのDBから取得したデータを一つとして使用できるでしょうか?