两张表 第一个表
sysuser 字段为 account_id account_ name
1 学员
2 辅导员
3 系主任
4 系统管理员
第二张表 sysdetail 字段为 account_id detail_id
1 1234567
2 123456
3 12345
4 1234
写一个sql语句 当detail_id为123456 可以显示account_name的字段值学员
当detail_id为1234 可以显示account_name的字段值学员 辅导员 系主任 系统管理员
当detail_id为1234567 12345 account_name不显示谢谢
sysuser 字段为 account_id account_ name
1 学员
2 辅导员
3 系主任
4 系统管理员
第二张表 sysdetail 字段为 account_id detail_id
1 1234567
2 123456
3 12345
4 1234
写一个sql语句 当detail_id为123456 可以显示account_name的字段值学员
当detail_id为1234 可以显示account_name的字段值学员 辅导员 系主任 系统管理员
当detail_id为1234567 12345 account_name不显示谢谢
'1234', '学员 辅导员 系主任 系统管理员',
NULL) account_name from sysuser usr, sysdetail dtl
where usr.account_id = dtl.account_id
就是说表 客户端会传过来detail_id这个字段的值 写一个sql语句 达到查看拥有何种权限的目的
如果detail_id对应的是辅导员可以显示拥有学员的权限 如果detail_id对应的是系统管理员 可以显示全部四个权限 如果学员 系主任 不显示 通过decode 写死了那几个字段的值 不太好 求赐教
SELECT DISTINCT a.account_id,
CASE WHEN a.detail_id = '123456' THEN a.account_name
ELSE a.detail_id = '1234' THEN a.account_name
ELSE a.detail_id = '1234567' THEN ' '
ELSE a.detail_id = '12345' THEN ' '
END
FROM sysuser a, sysdetail b
WHERE a.detail_id = :vDetailId AND a.account_id <= b.account_id