Reputation: 302
MYSQL Error code 1248 Every derived table must have it's own alias
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)
Upvotes: 1
Views: 215
Reputation: 133360
You need a table name alias for the from ( ... ) t
see // <----
symbol below
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)
Upvotes: 1