2016-06-20 22 views
0

から複数の値を選択します。私はこのようになりますクエリ持つクエリ

SELECT T1.ID, T3.Val FROM Table1 as T1 
INNER JOIN Table2 as T2 ON T1.ID = T2.ID 
INNER JOIN Table3 as T3 ON T2.ID = T3.ID 

私の問題は、最後のインナー返します3行に参加していることであると私はT3.val1のようにそれらの値のすべてを印刷したい、T3を.val2、T3.val3

これはどのように行われますか?

EDIT:例データ: T3

DataID, DefinitionID, ItemID, UnitID, Val, TS 
123  111   4541 45545 0.05 2016-05-07 06:14:07 
124  111   5487 69587 0.026 2016-05-07 09:11:01 
125  111   3621 12862 0  2016-05-07 10:04:17 

これが今の私のクエリです:

SELECT t1.EventID, group_concat(t3.Val) FROM T1 as t1 
INNER JOIN T2 as t2 ON t1.EventID = t2.EventID 
INNER JOIN T3 as t3 on t2.DefinitionID = t3.DefinitionID 
GROUP BY t3.Val; 

そして結果は次のとおりです。

EventID group_concat(t3.val) 
3   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0........ 
+0

は、選択リストにそれらを作ります。 –

+1

サンプルデータと予想される結果を掲載してください。 – Blank

+0

あなたはあなたが望むものを手に入れたようです。 – Strawberry

答えて

0
SELECT T1.ID, GROUP_CONCAT(T3.Val,',') FROM Table1 as T1 
INNER JOIN Table2 as T2 ON T1.ID = T2.ID 
INNER JOIN Table3 as T3 ON T2.ID = T3.ID 
GROUP BY T3.ID 

Table1 
--------------------- 
ID 
1 

Table2 
--------------------- 
ID 
1 


Table3 
--------------------- 
ID Val 
1  A 
1  B 
1  C 

出力

ID Val 
1 A,B,C 
+0

zakhefronありがとう、私の更新を見てください! – Andy

+0

あなたの問題を解決しましたか? – zakhefron

+0

ありがとう、ありがとう!値を合計する代わりに値を合計したい場合はどうすればいいでしょうか?それも可能ですか? – Andy

関連する問題