表一
订单号 支号
1001 0
1001 1
1002 0
1002 1
1003 2表二
订单号 支号 分号 检收日
1001 0 0 20050203
1001 0 1 20050204
1001 0 2 20050206
1001 1
1002 0
1002 1
1003 2也就是说一个订单可能检收日有多个,我现在想要做的是在表二中找出‘订单号’和‘支号’相同的情况下分号最大的那个记录的检收日。并且我要用left join 连接两个表怎么办呢。select * from 表一 left join 表二 on 表一.订单号=表二.订单号 and 表一.支号=表二.支号接下来还要怎么写呢。谢谢大家。
订单号 支号
1001 0
1001 1
1002 0
1002 1
1003 2表二
订单号 支号 分号 检收日
1001 0 0 20050203
1001 0 1 20050204
1001 0 2 20050206
1001 1
1002 0
1002 1
1003 2也就是说一个订单可能检收日有多个,我现在想要做的是在表二中找出‘订单号’和‘支号’相同的情况下分号最大的那个记录的检收日。并且我要用left join 连接两个表怎么办呢。select * from 表一 left join 表二 on 表一.订单号=表二.订单号 and 表一.支号=表二.支号接下来还要怎么写呢。谢谢大家。
解决方案 »
- 为什么Button中的属性modalResult:=mrCancle就可以实现程序的退出呢?
- 如何得到TStream里面的内容?就是把TStream转换成string?
- 关于从delphi向api函数中的指针参数传递实参的疑问
- 为什么RUN时报[Fatal Error] Required package 'frxcs6' not found这个错误?
- 在线急等,关于SQL日期查询问题。。
- 35岁以后你们做什么或准备做什么?
- 我是那么的渺小,就像只小小的蚂蚁,却要办件天大的事,谁都知道那是不可能的!...我无力回天...
- 用 delphi 能制作 web 报表吗?
- 如何获取指定文件的文件类型描述?
- 模拟按键遇到了问题。
- Delphi 2005中如何安装ActiveX控件
- 伍拾大洋,求一个文件重命名的过程
对于楼主所给出的数据,基本上可以写成
select
订单号,支号,max(分号) as 分号,max(检收日) as 检收日
from 表二
group by 订单号,支号
订单号,支号,max(分号) as 分号,检收日
from 表二
group by 订单号,支号
select 检收日 from 表二 where 分号=(select max(分号)as 分号 from 表二,表一 where 表一.订单号 =表二.订单号 and 表一.支号 =表二.支号 )
我必须要用到left join ,能实现吗?
select 检收日 from 表二 where 分号=(select max(分号)as 分号 from 表一 left join 表二 on 表一.订单号 =表二.订单号 and 表一.支号 =表二.支号)
select
订单号,支号,max(分号) as 分号,检收日 from 表一 left join 表二 on 表一.订单号=表二.订单号 and 表一.支号=表二.支号
group by 订单号,支号,检收日