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)
答案 0 :(得分:1)
您需要from ( ... ) t
的表名别名,请参阅下面的// <----
符号
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)