大家看看这个sql咋写啊

lw8123 lw8123 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
表A(id char(10), freedate char(8)),表B(id char(10), optdate char(8), sum decimal(10,2)),表A的id是主键,表B是纵表,一个id会对应多条记录。
现在想让B外连接A,得到B中B.optdate <A.freedate and B.id=A.id的最大日期对应的sum的值。
例如: A中记录(1, '20091001') B 中记录(1,'20091021',100) (1, '20090801', 200) (1, '20090901', 300)
想写一个如下所示的sql:
select A.* from A left outer join ( ..... ) b on b.id = a.id
因为B.optdate <A.freedate有两条记录,取这两条记录中optdate最大值的记录的sum,即300,得到结果:
A.id A.freedate B.sum
1 20090901 300

不知道说明白没有, 折腾半天也写不出来,谢谢大家了。
...全文

相关推荐

WinCC中用VBS实现对SQL数据库的写操作

'本代码是在E:\WinccProjects\DBSQL工程下完成,功能是对该工程下的CC_DBSQL_11_04_19_19_19_51R数据库中的表GH_table中的字段“Temp”进行写操作。写入的内容是DBSQL工程下的过程变量Temp的值。 该代码由按钮控件作为按下鼠标的响应脚本。写入的时间、次数由按钮动作决定。

joygo007

美萍2012写狗工具SQL写狗网络版写狗

开写狗工具 点加载文件 点写入加密锁,美萍2012写狗工具SQL写狗网络版写狗

啊双

C#不写SQL语句的数据库操作

不写SQL语句的数据库操作,实现了对数据的增删改查功能!

备不快乐

WinCC下用C-script完成对SQL的写操作

/////////////本代码是在E:\WinccProjects\DBSQL工程下完成,功能是对该工程下的CC_DBSQL_11_04_19_19_19_51R数据库中的表GH中的字段“Temp”进行写操作。写入的内容是十进制数55。 //该代码由按钮控件作为按下鼠标的响应脚本。写入的时间、次数由按钮动作决定。

joygo007

关于在Java代码中写Sql语句需要注意的问题

近做程序,时不时需要自己去手动将sql语句直接写入到Java代码中,写入sql语句时,需要注意几个小问题。   先看我之前写的几句简单的sql语句,自以为没有问题,但是编译直接报错。   String str = insert into XXX(a,b,c) values ('a.getA()','a.getB()','a.getC()');;   研究了半天发现应该是连接字符串问题,第一次修改过后将赋值字段前后加“+”号来完成sql语句。改正后代码如下   String str = insert into XXX(a,b,c) values ('+a.getA()

weixin_38746951
评论 12
收藏 已收藏
分享
返回顶部
lw8123
Oracle 17,133 成员 55,258 内容