mysql 根据表中字段值的不同,查询不同的关联表,该如何做

fewf44 2015-07-02 07:35:28
求高手帮忙
我要查询一张表:假如里面有2个字段 a 和b 。如果a =0 ,我就根据b这个字段的值查询所有和a有关联的关联表 如果a =1,我就查询所有和b有关联的关联表
...全文
1772 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
哈睿 2017-11-13
  • 打赏
  • 举报
回复
SELECT 
    CASE WHEN t1.type=1 THEN 
        (SELECT student_name FROM `学生表` t2 WHERE t2.student_id=t1.user_id)
    WHEN t1.type=2 THEN
        (SELECT teacher_name FROM `学生表` t2 WHERE t2.teacher_id=t1.user_id)
    ELSE END AS '姓名',
    CASE WHEN t1.type=1 THEN '学生'    WHEN t1.type=2 THEN '老师' ELSE END AS '对象类型',   
    t1.reason AS '请假原因',
    t1.
FROM `请假表` t1;
试过,可行。
0808xyj 2015-07-02
  • 打赏
  • 举报
回复 1

 select A.*,isnull(B.val,C.val)
 from A
 left join B on A.keyid=B.keyid and a.a=0
 left join C on A.keyID=c.Keyid and a.a=1
 where a.a in(0,1)
zbdzjx 2015-07-02
  • 打赏
  • 举报
回复
a=0的查询union all a=1的查询

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧