使用聚合數據連接多個子查詢

我的數據是:

order_id    chef_name   order_returned
1001    Charles McBakey Y
1001    Sarah McCookin  N
1001    John McFry  N
1001    Charles McBakey N
1001    John McFry  N
1001    John McFry  Y
1001    John McFry  Y
1001    Sarah McCookin  N
1001    Charles McBakey N
1001    Sarah McCookin  N
1001    Charles McBakey Y
1001    Charles McBakey N
1001    Sarah McCookin  N
1001    John McFry  N
1001    Sarah McCookin  N
1001    Charles McBakey Y
1001    John McFry  N
1001    Sarah McCookin  Y
1001    John McFry  Y 


select chef_name, count(chef_name) as cnt_total
from order_returns t
group by chef_name

當我使用上面的代碼時,我得到了下表:

"chef_name" "cnt_total"
"Sarah McCookin"    6
"Charles McBakey"   6
"John McFry"    7

然后我使用了下面的代碼

select chef_name, count(chef_name) as cnt_y
from order_returns 
where order_returned = 'Y'
group by chef_name

得到這張表:

"chef_name" "cnt_y"
"Charles McBakey"   3
"John McFry"    3
"Sarah McCookin"    1

然后我使用了以下代碼:

select chef_name,count(chef_name) as cnt_n
from orders
where order_returned = 'N'
group by chef_name

我有這張表

"chef_name" "cnt_n"
"Charles McBakey"   3
"John McFry"    4
"Sarah McCookin"    5

然后我使用以下代碼組合了這三個表:

select chef_name, count(chef_name) as cnt_total
from order_returns t
group by chef_name
join
(select chef_name, count(chef_name) as cnt_y
from order_returns 
where order_returned = 'Y'
group by chef_name) y
on t.chef_name = y.chef_name
join
(select chef_name,count(chef_name) as cnt_n
from order_returns
where order_returned = 'N'
group by chef_name) n
on y.chef_name = n.chef_name

我收到錯誤消息:error:在“join”第4行或其附近出現語法錯誤:join。

你能幫我解決這個問題嗎?

Thanks,

? 最佳回答:

你幾乎做到了。

您只需要像執行第二個和第三個操作一樣,將第一個sub-query正確地隔離為sub-query:

select * from 
(select chef_name, count(chef_name) as cnt_total
from order_returns 
group by chef_name) t
join
(select chef_name, count(chef_name) as cnt_y
from order_returns 
where order_returned = 'Y'
group by chef_name) y
on t.chef_name = y.chef_name
join
(select chef_name,count(chef_name) as cnt_n
from order_returns
where order_returned = 'N'
group by chef_name) n
on y.chef_name = n.chef_name

我剛剛使用了select *-一旦您對語法錯誤進行了排序,您可能需要指定特定的字段

select t.chef_name, t.cnt_total, y.cnt_y, n.cnt_n from ...

主站蜘蛛池模板: 国产精品一区二区久久精品| 亚洲国产欧美一区二区三区| 国模一区二区三区| 国产高清在线精品一区小说 | 动漫精品专区一区二区三区不卡| 日本一区二区在线播放| 国产乱码精品一区二区三| 国产一区二区三区樱花动漫| 色一情一乱一伦一区二区三欧美| 99久久综合狠狠综合久久一区| 国产丝袜无码一区二区三区视频| 夜夜精品无码一区二区三区| 国产精品电影一区二区三区| 深田咏美AV一区二区三区| 亚洲精品国产suv一区88| 极品人妻少妇一区二区三区| 91视频一区二区| 国产大秀视频在线一区二区| 国产一区二区成人| 国产麻豆精品一区二区三区| 中文激情在线一区二区| 激情亚洲一区国产精品| 色综合视频一区二区三区44| 国产精品综合一区二区| 国产一区二区三区免费看| 四虎精品亚洲一区二区三区| 亚洲日韩国产一区二区三区| 波多野结衣一区二区三区aV高清 | 亚洲乱码一区二区三区在线观看 | 亚洲综合国产一区二区三区| 国产日韩一区二区三免费高清| 国产在线精品一区二区三区直播| 国产一区二区电影| 色噜噜狠狠一区二区| 韩国福利视频一区二区| 波多野结衣一区二区免费视频 | 区三区激情福利综合中文字幕在线一区亚洲视频1| 国模无码一区二区三区| 亚洲国产一区明星换脸| 久久久91精品国产一区二区| 日韩一区二区视频在线观看|