sql - MySQL Sum and case -
i'm creating query wherein count how many awards applicant have. far have this:
select case when award1 not null 1 else 0 end + case when award2 not null 1 else 0 end + case when award3 not null 1 else 0 end + case when award4 not null 1 else 0 end summedcolumn resume, person e_status = 'applicant' , person.id_no 'x' , resume.id_no 'x' table:person values id_no(varchar, primary) x f_name(varchar) fasa l_name(varchar) bel m_name(varchar) drake resume_id(varchar) res01 table: resume value resume_id(varchar, primary) res01 id_no(varchar) x award1(varchar) suma cum laude award2(varchar) null award3(varchar) null award4(varchar) null past_position1(varchar) hr manager past_position2(varchar) null output of query: 4 when ran code returned value of 4 award2, award3 , award4 null. code suppose return value of 1.
here of table:
you didn't join 2 tables, making cross join between resume , person tables.
find key relates person resume, , equals them together:
select case when award1 not null 1 else 0 end + case when award2 not null 1 else 0 end + case when award3 not null 1 else 0 end + case when award4 not null 1 else 0 end summedcolumn resume inner join person on resume.resume_id = person.resume_id e_status = 'applicant' , person.id_no 'x' , resume.id_no 'x'
Comments
Post a Comment