大家帮忙看看这个sql该怎么写?
现在想让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
不知道说明白没有, 折腾半天也写不出来,谢谢大家了。
相关推荐
少侠!如何写一手好 SQL ?.docx
你真的会写一手好SQL吗?你真的深入了解数据库吗?你真的对MYSQL很理解吗?来自一线大厂资深数据库开发工程师的分享,纯粹干货,值得拥有。
SQL删除多列语句的写法
最近在写SQL过程中发现需要对一张表结构作调整(此处是SQL Server),其中需要删除多列,由于之前都是一条SQL语句删除一列,于是猜想是否可以一条语句同时删除多列,如果可以,怎么写法? 第一次猜想如下(注意:此处是猜想,非正确的写法): ALTER TABLE TableName DROP COLUMN column1,column2 但是执行后,发现语法错误, 于是改成如下的方式: ALTER TABLE TableName DROP COLUMN column1,COLUMN column2 执行正确,之后查看表结构,发现列已删除,证明猜想正确。 以上所述是小编给大家介绍的SQ
基于SQL中SET与SELECT赋值的区别详解
最近的项目写的SQL比较多,经常会用到对变量赋值,而我使用SET和SELECT都会达到效果。那就有些迷惑,这两者有什么区别呢?什么时候哪该哪个呢?经过网上的查询,及个人练习,总结两者有以下几点主要区别:假定有设定变量: 代码如下:DECLARE @VAR1 VARCHAR(1) DECLARE @VAR2 VARCHAR(2) 1、SELECT可以在一条语句里对多个变量同时赋值,而SET只能一次对一个变量赋值,如下: 代码如下:SELECT @VAR1=’Y’,@VAR2=’N’— 而SET要达到同样的效果,需要:SET @VAR1=’Y’SET @VAR2=’N’/* 说到这个,SQL内
spring boot jpa写原生sql报Cannot resolve table错误解决方法
在本篇文章里小编给大家整理的是关于spring boot jpa写原生sql报Cannot resolve table错误的解决方法,需要的朋友学习下。
数据库SQL面试题及答案
sql面试题及答案。包括Oracle和SQL Server数据库应用主要知识点


