【发布时间】:2011-11-16 01:27:41
【问题描述】:
我在 mysql 数据库中有 3 个表,名称为 Visits、Groups、Carers。 访问可以由小组或护理人员执行,因此在访问表中我有一个现场护理人员模式,如果访问由护理人员执行,则设置为 1,如果由小组执行,则设置为 0。
我需要构建一个语句来检索组名称或护理人员名称(取决于 carer_mode 的值)
我意识到下面的代码不正确,但它可能有助于解释我试图实现的逻辑:
SELECT CASE carer_mode
WHEN '1' THEN (SELECT name FROM carers WHERE Carers.id = Visits.carer_id )
WHEN '0' THEN (SELECT name FROM groups WHERE Groups.id = Visits.carer_id )
END as carer_name
FROM `Visits`
如果对有效代码有任何帮助,我将不胜感激,以帮助我实现目标
谢谢
凯文
【问题讨论】:
-
为什么你认为你提供的代码是错误的?
-
@Icarus:是的,忽略了别的东西。 ;)
标签: mysql case conditional-statements