У меня есть таблица со столбцамиMYSQL: Выберите конкретное значение столбца в зависимости от состояния
id doctor_name charges_cash charges_cashless
1 1 300 600
2 2 200 400
Теперь я пытаюсь запустить этот запрос:
SELECT ipd.patient_name, r.room_name, doctor.doctor_name,
CASE p.tpa_name
WHEN NULL
THEN i.charges_cash
ELSE i.charges_cashless
END AS 'charges'
FROM `daily_ward_entry` d, ipd_charges i, ipd_patient_entry ipd, room_charges r,
patient_detail p, doctor
WHERE d.doctor_visit_name = i.doctor
AND r.id = d.room_name
AND d.patient_name = ipd.id
AND d.doctor_visit_name = doctor.id
Я получаю результат для обвинений как 400, тогда как p.tpa_name равно null, я ожидаю, что это будет 200, . Я не знаю, что я делаю неправильно здесь?
В результате набор как этот
patient_name room_name doctor_name charges
Sapna Agrawal MG-1 Dr. Dungri 400
Спасибо.
Вы пропустили остальные таблицы? – Ben
Предполагается, что некоторые из ваших таблиц имеют несколько строк, которые соответствуют и, следовательно, дублируют строки в вашей основной таблице. Но, не зная, что такое структуры таблицы, и какой-то идеи тестовых данных, это почти невозможно сказать. – Kickstart