Я создаю запрос, в котором я бы посчитал, сколько наград у заявителя. До сих пор у меня есть это:MySQL Сумма и случай
SELECT
CASE WHEN Award1 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN Award2 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN Award3 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN Award4 IS NOT NULL THEN 1 ELSE 0 END
as summedColumn
FROM resume, person
where E_Status = 'Applicant'
and person.ID_No like 'x' and resume.ID_No like '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 the query: 4
Когда я побежал код он вернул значение 4, но мой Award2, Award3 и Award4 все нуль. Код предполагает, чтобы вернуть значение 1.
Вот вид таблицы:
вы не имеете присоединиться пункт в запросе. –
Есть ли причина, почему у вас есть несколько столбцов «Награда»? Как выглядит структура базы данных? –
Опубликовать вывод «select * FROM resume, person где E_Status =« Заявитель »и person.ID_Не нравится« x »и resume.ID_Не нравится« x », чтобы мы могли видеть фактические данные. –