select czk_user as username ,CZK_FLAG as flag ,CZK_state as state,czk_money as je ,czk_style as style ,czk_date as edittime from shop_czkpaydeatilsnew where czk_user ='qq' union all select czusername ,cztype,czflag ,czje ,czstyle,czsj from shop_yfkcz where czusername ='qq' order by edittime
效果如下:
A表
user ruje datetime flag style
a 21 2009-08-08 1 2
a 322 2009-08-08 1 2
a 55 2009-08-08 1 2
b 31 2009-08-08 1 2
c 33 2009-08-08 1 2
B表
user1 chuje time flag
a 33 2009-08-08 1
b 22 2009-08-08 1
a 32 2009-08-08 1
结果:
username money datetime flag
a 21 2009-08-08 1
a 322 2009-08-08 1
a 55 2009-08-08 1
a 33 2009-08-08 1
a 32 2009-08-08 1
一解决方案:
IF OBJECT_ID('A') IS NOT NULL
DROP TABLE A
GO
CREATE TABLE A( [user] varchar(10),ruje int ,datetime varchar(10) ,flag int , style int )
go
insert A SELECT
'a' , 21 , '2009-08-08', 1 , 2 UNION ALL SELECT
'a' , 322 , '2009-08-08' ,1 , 2 UNION ALL SELECT
'a' , 55 , '2009-08-08' ,1 , 2 UNION ALL SELECT
'b' , 31, '2009-08-08' ,1 , 2 UNION ALL SELECT
'c' , 33, '2009-08-08' ,1 , 2
IF OBJECT_ID('b') IS NOT NULL
DROP TABLE b
GO
CREATE TABLE b( [user1] varchar(10),chuje int ,time varchar(10) ,flag int )
go
insert b SELECT
'a', 33 ,'2009-08-08', 1 UNION ALL SELECT
'b' , 22 , '2009-08-08' , 1 UNION ALL SELECT
'a' , 32, '2009-08-08' , 1
go
select
[user] as username,
ruje as [money],
[datetime],flag
from a
where [user] ='a'
union all
select * from b
where user1 ='a'
go
(3 行受影响)
username money datetime flag
---------- ----------- ---------- -----------
a 21 2009-08-08 1
a 322 2009-08-08 1
a 55 2009-08-08 1
a 33 2009-08-08 1
a 32 2009-08-08 1
http://brucezheng.javaeye.com/blog/70300
看下这个union all union 的用法
union 可以去除重复的