公司需求:
表“sys_account中的account_type
'账号类型 0-个人开发者 1-企业开发者 2-内部开发者 99-未知',需要根据账号类型去不同表查找个人/公司姓名作为一个字段,
0去developer_account_person中找real_name字段
1去developer_account_company找company_name字段
2,99为空字段
网上看了别人的代码:
SELECT d.integral ,
CASE WHEN d.deed_type=1
THEN (SELECT s.user_id FROM sport_records s WHERE s.id=d.record_id)
WHEN d.deed_type=2
THEN (SELECT m.user_id FROM match_ticket_record m WHERE m.id=d.record_id)
when d.deed_type=3
then (SELECT u.id from users u INNER JOIN vp_situation v on u.openId=v.vps_vpid WHERE u.id=d.record_id)END id,
CASE WHEN d.deed_type=1
THEN '扫码入场'
WHEN d.deed_type=2
THEN '买票'
WHEN d.deed_type=3
THEN '投票'
WHEN d.deed_type=4
THEN '注册'
WHEN d.deed_type=5
THEN '购物' END type
FROM deed_records d having id =151;
自己的代码如下
SELECT
CASE
WHEN ssa.account_type = 0 THEN
(
SELECT
p.real_name
FROM
developer_account_person p
WHERE
p.account_sid = '101258c8ca644a56afa3af1705c6aeea'
AND p.del_flag = 0
)
WHEN ssa.account_type = 1 THEN
(
SELECT
c.company_name
FROM
developer_account_company c
WHERE
c.account_sid = '101258c8ca644a56afa3af1705c6aeea'
AND c.del_flag = 0
)
END NAME
FROM
sys_account ssa
WHERE
ssa.account_sid = '101258c8ca644a56afa3af1705c6aeea'