qq_37504599 2017-09-05 02:43 采纳率: 0%
浏览 4667
已结题

根据某表的字段的值不同如何关联查询不同表

表 a a.id,a.count
表b b.id ,b.to_id,b.from_id,b.rel 其中 a.id=to_id
表u u.userid, u.name
表c c.id,c.userid
表d d.id, d.userid
表 f f.id,f.userid
其中 if (b.rel =“c ”)b.from_id=c.id
else if (b.rel = “d” ) b.from_id=d.id
else if (b,rel = "f ” ) b.from_id = f.id

要通过 a的id查询出 a.count, userid, name;
Oracle 查询语句该如何写
菜鸟求救

  • 写回答

5条回答

  • 花下泥 2017-09-05 03:00
    关注

    select a.count,u.userid,u.name
    from a
    inner join b on a.id=b.to_id
    inner join c on b.from_id=c.id
    inner join u on c.userid=u.userid
    where b.rel='c'

    union

    select a.count,u.userid,u.name
    from a
    inner join b on a.id=b.to_id
    inner join d on b.from_id=d.id
    inner join u on d.userid=u.userid
    where b.rel='d'
    union

    select a.count,u.userid,u.name
    from a
    inner join b on a.id=b.to_id
    inner join f on b.from_id=f.id
    inner join u on f.userid=u.userid
    where b.rel='f'

    评论

报告相同问题?

悬赏问题

  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样