2017-04-09 4 views
0

私は上記のような関係を持つ以下のテーブルを持つデータベースを持っています。希望する出力に示されているように、すべての顧客から与えられた各製品の平均スコアを取得したいと思います。SQLite - 関連レコードを返すクエリ

"GRP"

g_id g_name 
1  Ag.f 
2  Gh.h 

"顧客" g_id参照は "GRP"

m_id sequence_no g_id name 

"1"  "1"   "1" "product1" 
"2"  "2"   "1" "product2" 
"3"  "3"   "1" "product3" 
"4"  "1"   "2" "p1" 
"5"  "2"   "2" "p2" 
にg_idする "GRP"

c_id c_name g_id 
"1"  "DA"  "1" 
"2"  "AŠ"  "1" 
"3"  "EK"  "1" 
"4"  "PK"  "1" 
"5"  "DD"  "2" 
"6"  "AA"  "2" 
"7"  "EE"  "2" 

"製品" にg_idするc_g_id参照

「得点」

のC_ID参照は製品 "「でM_IDする顧客 M_ID参照" にC_IDする

score_id customer_name c_id m_id score 

"1"   "DA"   "1"  "1"  "2" 
"2"   "DA"   "1"  "2"  "2" 
"3"   "DA"   "1"  "3"  "2" 
"4"   "AŠ"   "2"  "1"  "3" 
"5"   "AŠ"   "2"  "2"  "2" 
"6"   "AŠ"   "2"  "3"  "3" 
"7"   "EK"   "3"  "1"  "2" 
"8"   "EK"   "3"  "2"  "3" 
"9"   "EK"   "3"  "3"  "1" 
"10"  "PK"   "4"  "1"  "2" 
"11"  "PK"   "4"  "2"  "3" 
"12"  "PK"   "4"  "3"  "1" 
"13"  "DD"   "5"  "4"  "2" 
"14"  "DD"   "5"  "5"  "2" 
"15"  "AA"   "6"  "4"  "3" 
"16"  "AA"   "6"  "5"  "2" 
"17"  "EE"   "7"  "4"  "2" 
"18"  "EE"   "7"  "5"  "3" 

所望の出力:あなたが最終的に

select products.name, products.g_id, avg(score) 
from scores 
inner join products on products.m_id = scores.m_id 
group by products.name, products.g_id 

によって平均機能とグループを使用coudl

sequence_no g_id name  avg.score 
1   1  "product1" (2+3+2+2)/4 
2   1  "product2" (2+2+3+3)/4 
3   1  "product3" (2+3+1+1)/4 
+0

エド? – paddy

答えて

1

関連する列が必要な場合は、他のテーブルに参加することができます

+0

joinステートメントはどのように見えますか、私に見せてもらえますか? – DynamicQ

+0

答えが更新されました。 – scaisEdge

関連する問題