全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3656 2
2014-12-19
悬赏 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


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-12-19 15:04:25
我被这个代码雷到了……首先a.*, b.*, c.*, d.*, e.*就不对,因为a b c d e存在相同的字段,如果用* 会出现相同的字段的,必须单独列出你希望展示的五个文件的字段
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

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步的效率是最高的


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群