解决方案 »
- 安装了MSSQL2008 R2 为何windows身份都无法登陆呢?
- VS2008 编辑数据库 急用!极简单!极感谢!
- sql2000中下面的代码不能运行,该怎样改写?
- 新手第一次提问,总是提示from附近有错误
- 请帮忙优化一个查询:关于主从表的一个查询语句,不想group by一堆字段
- 我的全文检索查不出数据谁帮我看下啊
- sql2005存储过程中不可以使用多值参数?
- 存储过程的问题???急急急急急急急,在线等
- 关于如何建立索引求解
- 请问学习oracle8,还是学习oracle8i好呢?学习oracle应打下哪些基础.应看什么书呢?
- 请问,Sql server 数据库中,多个结构相同的表如何关联查询
- 数据库复制 和 CDC
inner join 箱唛表 b on
(a.目的国= b.目的国 and a.订单尾号=b.订单尾号 and b.箱唛规则=【目的国+订单尾号】)
or
(a.目的国= b.目的国 and a.订单尾号<>b.订单尾号 and a.运输方式=b.运输方式 and b.箱唛规则=【目的国+运输方式】)
复杂点的是对你抽出来的结果集以订单编号分组做rownumber over partition by,然后取rownumber为1的一条数据
with t as (
select * ,1 sort
from 订单表 a
inner join 箱唛表 b on (a.目的国= b.目的国 and a.订单尾号=b.订单尾号 and b.箱唛规则=【目的国+订单尾号】)
union all
select * ,2 sort
from 订单表 a
inner join 箱唛表 b on (a.目的国= b.目的国 and a.运输方式=b.运输方式 and b.箱唛规则=【目的国+运输方式】)
),tt as (
select *,rn=ROW_NUMBER(partition by a.订单编号 order by sort)
from t
)
select * from tt where tt.rn=1