我的數據是:
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 *
-一旦您對語法錯誤進行了排序,您可能需要指定特定的字段select t.chef_name, t.cnt_total, y.cnt_y, n.cnt_n from
...