楼主: ertyuj
3420 2

请帮忙看看code:在sql中使用left join合并多个文件 [推广有奖]

  • 0关注
  • 1粉丝

硕士生

40%

还不是VIP/贵宾

-

威望
0
论坛币
254 个
通用积分
0.7615
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
-351 点
帖子
136
精华
0
在线时间
164 小时
注册时间
2007-2-7
最后登录
2022-3-17

15论坛币
我有下边一段code:
select a.*, b.*, c.*, d.*, e.*, f.* from a,b, c left join d on c.idc=d.idd
         left join e on c.idc=e.ide
         left join f on c.idc=f.idf

         where a.id=b.idb and a.id=c.idc

现在我有一个基准文件t,需要使用left join把上边的代码生成的数据合到t这个基准文件上。我能用下边这段代码吗?如果里边有错,能给改改、讲讲吗?谢谢。

select t.* from t left join (把上面的code拷贝下来:
select a.*, b.*, c.*, d.*, e.* from a,b, c left join d on c.idc=d.idd
         left join e on c.idc=e.ide
         left join f on c.idc=f.idf
         where a.id=b.idb and a.id=c.idc) all on t.idt = all.id


关键词:left join left join code ODE
数据科学和机器学习博客:https://shorturl.at/jtHTW
沙发
李会超 发表于 2014-12-19 15:04:25 |只看作者 |坛友微信交流群
我被这个代码雷到了……首先a.*, b.*, c.*, d.*, e.*就不对,因为a b c d e存在相同的字段,如果用* 会出现相同的字段的,必须单独列出你希望展示的五个文件的字段

使用道具

藤椅
chi4zb 发表于 2014-12-19 16:52:40 |只看作者 |坛友微信交流群
select t.* from t left join (把上面的code拷贝下来:
select a.*, b.*, c.*, d.*, e.* from a,b, c left join d on c.idc=d.idd
         left join e on c.idc=e.ide
         left join f on c.idc=f.idf
         where a.id=b.idb and a.id=c.idc) all on t.idt = all.id

不清楚要做什么。select t.*这里只选择t中的数据?那么后面 a.*, b.*, c.*, d.*, e.*就不用了。


SQL嵌套是可行的,代码没有补齐。这样做代码省了,但数据大时效率和空间就不一定了。记得SAS公司培训老师说过data步的效率是最高的


使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-3 21:12