2017-11-05 48 views
1

MYSQLのエラーコード1248のすべての派生テーブル自身の別名だ持っている必要があり、それはあなたが見るfrom ( ... ) t用テーブル名の別名が必要MYSQLのエラーコード1248のすべての派生テーブルは、それが

select supplier_id, supplier_name, strong_answers from 
(select campaign_suppliers.id supplier_id, campaign_suppliers.supplier_name supplier_name, 
count(case when supplier_answers.binary_answer is not null 
or supplier_answers.value_answer is not null then 1 end) strong_answers 
from supplier_answers join campaign_suppliers on (supplier_answers.supplier_id = campaign_suppliers.id) 
where supplier_answers.campaign_id = 1 group by campaign_suppliers.id, campaign_suppliers.supplier_name 
having count(case when supplier_answers.binary_answer is not null 
or supplier_answers.value_answer is not null then 1 end) >= 
(select count(distinct supplier_answers.question_index) from supplier_answers where campaign_id = 1)) 
where strong_answers >= (select count(distinct supplier_answers.question_index) from supplier_answers where campaign_id = 1) 

答えて

1

自身の別名だ持っている必要があります// <----以下のシンボル

select t.supplier_id, t.supplier_name, t.strong_answers from (
    select campaign_suppliers.id supplier_id, campaign_suppliers.supplier_name supplier_name, 
    count(case when supplier_answers.binary_answer is not null 
     or supplier_answers.value_answer is not null then 1 end) strong_answers 
from supplier_answers join campaign_suppliers on (supplier_answers.supplier_id = campaign_suppliers.id) 
where supplier_answers.campaign_id = 1 group by campaign_suppliers.id, campaign_suppliers.supplier_name 
having count(case when supplier_answers.binary_answer is not null 
or supplier_answers.value_answer is not null then 1 end) >= 
(select count(distinct supplier_answers.question_index) 
     from supplier_answers where campaign_id = 1)) t //<---- here you need a table name eg: t 
where t.strong_answers >= (select count(distinct supplier_answers.question_index) from supplier_answers where campaign_id = 1) 
+0

細かく、ありがとうございます@scaisedge – jujadhav

関連する問題