试试这样: select 企业编码,企业名称,领购日期,领购数量 from ( select *,1 as rn from A union all select *,2 as rn from B ) as t1 order by 企业编码,rn desc,领票日期
试试这样: select 企业编码,企业名称,领购日期,领购数量 from ( select *,1 as rn from A union all select *,2 as rn from B ) as t1 order by 企业编码,rn desc,领票日期谢谢您了,非常感谢。能给我解释下吗?
我刚才试试,union 后面的all 不加好像也行吧?
if OBJECT_ID('A') IS NOT NULL DROP TABLE [A] CREATE TABLE [A](企业编码 varchar(10),企业名称 varchar(30),领购日期 varchar(20),领购数量 int) insert into [a] select '001' ,'上海一线公司','2013-12-25',50 union all select '001','上海一线公司','2013-12-28',120 if OBJECT_ID('B') is not null drop table[B] create table [B] (企业编码 varchar(10),企业名称 varchar(30),出库日期 varchar(20),数量 int) insert into [B] select '001' ,'上海一线公司','2013-12-24',30 union all select '001','上海一线公司','2013-12-26 ',190
select * from A SELECT * FROM B --select * from [a] innser join [B] on 1=1select A.企业编码,A.企业名称, A.领购日期 as 领票日期,A.领购数量 as 本次购票数量 from A UNION ALL select b.企业编码,b.企业名称, b.出库日期 as 领票日期,b.数量 as 本次购票数量 from B
前半部分生成测试表结构及其数据的都是别人自己手打的,为了更好的重现你的数据环境。至于查询语句,主要有两点1、关于子查询 select 你需要展示的字段名 from (子查询语句) as 别名 where ... order by ... 在SQL2005版本及其之上,可以采用with cte的用法2、关于union all 这个是将不同的查询数据集按照相同的结构,不剔除重复上下连接到一起,其中只用union的时候是可以去掉重复的,重复表示的是 select col1,col2,col3... from a union select col1,col2,col3... from b 中的col1,col2,col3...完全重复的数据
嗯 ,应该也行,因为两个表的数据不同,其实这个union all就是合并2个表的数据,而union 是现合并,然后去除重复的数据您好,我如果想统计这个企业领购了多少次发票呢?能够实现吗?select 企业编码,企业名称,COUNT(*) from ( select *,1 as rn from A union all select *,2 as rn from B ) as t1group by 企业编码,企业名称
我刚才写的是count(rq) 。。 谢谢阳泉小酒家了
嗯 ,应该也行,因为两个表的数据不同,其实这个union all就是合并2个表的数据,而union 是现合并,然后去除重复的数据您好,我如果想统计这个企业领购了多少次发票呢?能够实现吗?select 企业编码,企业名称,COUNT(*) from ( select *,1 as rn from A union all select *,2 as rn from B ) as t1group by 企业编码,企业名称好像不行吧?我加上count(*) 报错了
试试这样:
select 企业编码,企业名称,领购日期,领购数量
from (
select *,1 as rn from A
union all
select *,2 as rn from B
) as t1
order by 企业编码,rn desc,领票日期
试试这样:
select 企业编码,企业名称,领购日期,领购数量
from (
select *,1 as rn from A
union all
select *,2 as rn from B
) as t1
order by 企业编码,rn desc,领票日期谢谢您了,非常感谢。能给我解释下吗?
DROP TABLE [A]
CREATE TABLE [A](企业编码 varchar(10),企业名称 varchar(30),领购日期 varchar(20),领购数量 int)
insert into [a]
select '001' ,'上海一线公司','2013-12-25',50 union all
select '001','上海一线公司','2013-12-28',120
if OBJECT_ID('B') is not null
drop table[B]
create table [B] (企业编码 varchar(10),企业名称 varchar(30),出库日期 varchar(20),数量 int)
insert into [B]
select '001' ,'上海一线公司','2013-12-24',30 union all
select '001','上海一线公司','2013-12-26 ',190
select * from A
SELECT * FROM B
--select * from [a] innser join [B] on 1=1select A.企业编码,A.企业名称, A.领购日期 as 领票日期,A.领购数量 as 本次购票数量 from A
UNION ALL
select b.企业编码,b.企业名称, b.出库日期 as 领票日期,b.数量 as 本次购票数量 from B
嗯 ,应该也行,因为两个表的数据不同,其实这个union all就是合并2个表的数据,而union 是现合并,然后去除重复的数据
嗯 ,应该也行,因为两个表的数据不同,其实这个union all就是合并2个表的数据,而union 是现合并,然后去除重复的数据谢谢指导新手,非常感谢。
select 你需要展示的字段名 from (子查询语句) as 别名 where ... order by ...
在SQL2005版本及其之上,可以采用with cte的用法2、关于union all
这个是将不同的查询数据集按照相同的结构,不剔除重复上下连接到一起,其中只用union的时候是可以去掉重复的,重复表示的是
select col1,col2,col3... from a
union
select col1,col2,col3... from b
中的col1,col2,col3...完全重复的数据
嗯 ,应该也行,因为两个表的数据不同,其实这个union all就是合并2个表的数据,而union 是现合并,然后去除重复的数据您好,我如果想统计这个企业领购了多少次发票呢?能够实现吗?
嗯 ,应该也行,因为两个表的数据不同,其实这个union all就是合并2个表的数据,而union 是现合并,然后去除重复的数据您好,我如果想统计这个企业领购了多少次发票呢?能够实现吗?select 企业编码,企业名称,COUNT(*)
from (
select *,1 as rn from A
union all
select *,2 as rn from B
) as t1group by 企业编码,企业名称
嗯 ,应该也行,因为两个表的数据不同,其实这个union all就是合并2个表的数据,而union 是现合并,然后去除重复的数据您好,我如果想统计这个企业领购了多少次发票呢?能够实现吗?select 企业编码,企业名称,COUNT(*)
from (
select *,1 as rn from A
union all
select *,2 as rn from B
) as t1group by 企业编码,企业名称好像不行吧?我加上count(*) 报错了