【发布时间】:2016-09-26 05:54:15
【问题描述】:
我有三个表,tbl_doctors_details、tbl_time 和 tbl_token。
我必须从tbl_time 或tbl_token 中选择详细信息。也就是说,如果医院里的特定医生有t_type 是time 然后从tbl_time 中选择,否则从tbl_token 中选择。
例如,doctor_id 是 100,hospital_id 是 1,t_type 是 time。所以对于这个用户,详细信息应该从tbl_time表中选择。
下面是三个表的示例结构和数据:
这里如何在查询中使用CASE条件?
我试过了:
SELECT *
FROM
( SELECT * CASE WHEN t_type= 'time' FROM dbname.tbl_doctors_details t1 THEN
dbname.tbl_time t2
ELSE
dbname.tbl_token t2
WHERE t1.hospital_id=t2.hospital_id AND t1.doctor_id=t2.doctor_id);
我知道查询不起作用,但我怎样才能使查询起作用?
【问题讨论】:
-
我认为规范化数据库会让你更容易做到这一点。
-
我已经给出了示例数据来提问..它与真实的不同
标签: sql postgresql case