求SQL语句 排序问题

mengdiQian 2011-09-26 09:16:40
有两个表,入库表,出库表
每个表里都有个日期字段
我想把这两个表合并,按照合并后的日期的倒序排列
应该怎么写啊
...全文
94 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
mengdiQian 2011-09-28
  • 打赏
  • 举报
回复
谢谢大家,我已经解决了!
mengdiQian 2011-09-26
  • 打赏
  • 举报
回复
两个表的字段个数是不一样的
我把我的表说一下吧,麻烦给位大侠再帮我看看!

库存表
物料编号,物料名称,型号,使用机型,备注

入库表
入库编号,物料编号,入库日期,入库数量,入库单价,入库类别,设备编码,备注

出库表
出库编号,入库编号,职工编号,出库日期,出库数量

现在是要把同一个物料编号的出入库情况按照出入库的日期倒序排列
geniuswjt 2011-09-26
  • 打赏
  • 举报
回复
主要是个数和对应字段类型要一样或可以转换就可以了
geniuswjt 2011-09-26
  • 打赏
  • 举报
回复

--union all时是以第一句的字段名称作为字段名称的,直接按第一个里的列名排序即可
select 入库编号 编号 , 名称 ... 入库日期 from 入库表
union all
select 出库编号 编号 , 名称 ... 出库日期 from 出库表
order by 入库日期 desc
--不信你可以试试
dawugui 2011-09-26
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 mengdiqian 的回复:]
我的表设计是
入库表
入库编号 名称 ... 入库日期;
出库表
出库编号 名称 ... 出库日期。

这个该怎么办?
需要把两个日期的字段名称写成一样的吗?
[/Quote]
你查询的时候换个别名就可以了.
select 入库编号 编号 , 名称 ... 入库日期 日期 from 入库表
union all
select 出库编号 编号 , 名称 ... 出库日期 日期 from 出库表
order by 日期 desc

-晴天 2011-09-26
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 mengdiqian 的回复:]
我的表设计是
入库表
入库编号 名称 ... 入库日期;
出库表
出库编号 名称 ... 出库日期。

这个该怎么办?
需要把两个日期的字段名称写成一样的吗?
[/Quote]
不用,只要这样就行了:
select 入库编号 as 编号,名称,...入库日期 as 日期 from 入库表
union all
select 出库编号 as 编号,名称,...出库日期 as 日期 from 出库表 order by 4 desc --这里的4是指日期列在列表中的第几位.
mengdiQian 2011-09-26
  • 打赏
  • 举报
回复
我的表设计是
入库表
入库编号 名称 ... 入库日期;
出库表
出库编号 名称 ... 出库日期。

这个该怎么办?
需要把两个日期的字段名称写成一样的吗?

dawugui 2011-09-26
  • 打赏
  • 举报
回复
[Quote=引用楼主 mengdiqian 的回复:]
有两个表,入库表,出库表
每个表里都有个日期字段
我想把这两个表合并,按照合并后的日期的倒序排列
应该怎么写啊
[/Quote]
select 相关字段 from 入库表
union all
select 必须和上面相关字段匹配 from 出库表
order by 时间 desc
jerryzhao58 2011-09-26
  • 打赏
  • 举报
回复
select * from
(
select 时间字段,col1,col2... from 入库表
union all
select 时间字段,col1,col2... from 出库表
) T
order by 时间字段
-晴天 2011-09-26
  • 打赏
  • 举报
回复
--如果两表字段都相同,则:
select * from 入库表
union all
select * from 出库表 order by 日期 desc
--如果两表字段不一样,只是取出日期,则:
select 日期 from 入库表
union all
select 日期 from 出库表 order by 日期 desc

--小F-- 2011-09-26
  • 打赏
  • 举报
回复
select col1,col2... from 入库表
union all
select col1,col2... from 出库表
order by 时间字段
chuanzhang5687 2011-09-26
  • 打赏
  • 举报
回复
select * from 
(
select * from 入库表
union all
select * from 出库表
) t
order by date
金汐 2011-09-26
  • 打赏
  • 举报
回复
LZ请给出示例数据,给出需求结果样式.要不然大家都很难明白呢.
mengdiQian 2011-09-26
  • 打赏
  • 举报
回复
我是想要出库日期和入库日期合起来降序排列
这个好像不能实现吧!
--小F-- 2011-09-26
  • 打赏
  • 举报
回复
select
*---这里的字段按照需要自己去取
from
库存表 a,入库表 b,出库表 c
where
a.物料编号=b.物料编号
and
b.入库编号=c.入库编号
order by
入库日期 desc
mengdiQian 2011-09-26
  • 打赏
  • 举报
回复
有没有什么好方法呀?!

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧