oracle 做一个连接查询 以主表为准 副表查询出来多条只取一条连接

xiao_maoqiu 2017-06-09 09:46:21

我有 A B C三张表
以A表数据为准 B C 表无数据则为null 多条数据只取一条
A B C 关联关系为 A.dm = B.dm A.mc =C.mc A.dm = C.mc

想要的结果就是 如果A表有100条数据 连接查询下来就有100条数据 无论B C有多少条数据
...全文
4006 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
小白^O^ 2017-12-06
  • 打赏
  • 举报
回复
如果三张表的关联字段是相同的字段,但是我要拿第一张表的那个字段要怎么取值。直接用字段名取的是第二张表的数据
yanwencheng 2017-09-16
  • 打赏
  • 举报
回复
leftjoin 然后使用distance
xiao_maoqiu 2017-06-09
  • 打赏
  • 举报
回复
引用 1 楼 qq_38884602 的回复:
select a.*, b.*,c.* from a LEFT join b on a.dm=b.dm  LEFT join c on  a.mc =c.mc and  a.dm  = c.mc
这个我试过了,会多数据,不是我要的以主表为准,副表有多条数据只取一条
qq_38884602 2017-06-09
  • 打赏
  • 举报
回复
select a.*, b.*,c.* from a LEFT join b on a.dm=b.dm  LEFT join c on  a.mc =c.mc and  a.dm  = c.mc
qq_38884602 2017-06-09
  • 打赏
  • 举报
回复
引用 4 楼 xiao_maoqiu 的回复:
[quote=引用 3 楼 qq_38884602 的回复:]
select a.*, b.*,c.* from a LEFT join (select dm,min(你需要的列名),min(你需要的列名) from b group by dm) b on a.dm=b.dm  LEFT join (select mc,min(你需要的列名),min(你需要的列名) from c group by mc) c on  a.mc =c.mc and  a.dm  = c.mc
谢谢大神谢谢大神 可以查到了 还有个问题 C表的 txt 字段 类型是longtext 保存的是html 但是链接查询过去都是空的 这个是什么问题 ? 是值的大小过大吗[/quote] 这个你自己查询赋值给一个变量看看 这个东西有时候说不清楚
xiao_maoqiu 2017-06-09
  • 打赏
  • 举报
回复
引用 3 楼 qq_38884602 的回复:
select a.*, b.*,c.* from a LEFT join (select dm,min(你需要的列名),min(你需要的列名) from b group by dm) b on a.dm=b.dm  LEFT join (select mc,min(你需要的列名),min(你需要的列名) from c group by mc) c on  a.mc =c.mc and  a.dm  = c.mc

谢谢大神谢谢大神 可以查到了 还有个问题 C表的 txt 字段 类型是longtext 保存的是html 但是链接查询过去都是空的 这个是什么问题 ? 是值的大小过大吗
qq_38884602 2017-06-09
  • 打赏
  • 举报
回复
select a.*, b.*,c.* from a LEFT join (select dm,min(你需要的列名),min(你需要的列名) from b group by dm) b on a.dm=b.dm  LEFT join (select mc,min(你需要的列名),min(你需要的列名) from c group by mc) c on  a.mc =c.mc and  a.dm  = c.mc

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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