哦
表一:tblBal (日期,客户,摘要,余额)
1.2014-1-1 AA 上月结存 -220.00
表二:tblOrder(日期,客户,摘要,贷)
1.2014-1-20 AA 预付款 375.00
表三:tblEarn (日期,客户,摘要,借)
1.2014-1-22 AA 订单 1800.00
表一:tblBal (日期,客户,摘要,余额)
1.2014-1-1 AA 上月结存 -220.00
表二:tblOrder(日期,客户,摘要,贷)
1.2014-1-20 AA 预付款 375.00
表三:tblEarn (日期,客户,摘要,借)
1.2014-1-22 AA 订单 1800.00
-- Author :DBA_Huangzj(發糞塗牆)
-- Date :2014-01-26 13:48:12
-- Version:
-- Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64)
-- Dec 28 2012 20:23:12
-- Copyright (c) Microsoft Corporation
-- Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: )
--
----------------------------------------------------------------
--> 测试数据:[tblBal]
if object_id('[tblBal]') is not null drop table [tblBal]
go
create table [tblBal]([日期] DATE,[客户] varchar(2),[摘要] varchar(8),[余额] numeric(5,2))
insert [tblBal]
select '2014-1-1','AA','上月结存',-220.00
--> 测试数据:[tblOrder]
if object_id('[tblOrder]') is not null drop table [tblOrder]
go
create table [tblOrder]([日期] DATE,[客户] varchar(2),[摘要] varchar(6),[贷] numeric(5,2))
insert [tblOrder]
select '2014-1-20','AA','预付款',375.00
--> 测试数据:[tblEarn]
if object_id('[tblEarn]') is not null drop table [tblEarn]
go
create table [tblEarn]([日期] DATE,[客户] varchar(2),[摘要] varchar(4),[借] numeric(6,2))
insert [tblEarn]
select '2014-1-22','AA','订单',1800.00
--------------开始查询--------------------------select * ,NULL '贷',NULL '余额'
from [tblEarn]
UNION ALL
select 日期,客户,摘要,NULL,贷,NULL from [tblOrder]
UNION ALL
select 日期,客户,摘要,NULL,NULL ,余额
from [tblBal]
----------------结果----------------------------
/*
日期 客户 摘要 借 贷 余额
---------- ---- -------- --------------------------------------- --------------------------------------- ---------------------------------------
2014-01-22 AA 订单 1800.00 NULL NULL
2014-01-20 AA 预付款 NULL 375.00 NULL
2014-01-01 AA 上月结存 NULL NULL -220.00
*/
-- Author :DBA_Huangzj(發糞塗牆)
-- Date :2014-01-26 13:48:12
-- Version:
-- Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64)
-- Dec 28 2012 20:23:12
-- Copyright (c) Microsoft Corporation
-- Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: )
--
----------------------------------------------------------------
--> 测试数据:[tblBal]
if object_id('[tblBal]') is not null drop table [tblBal]
go
create table [tblBal]([日期] DATE,[客户] varchar(2),[摘要] varchar(8),[余额] numeric(5,2))
insert [tblBal]
select '2014-1-1','AA','上月结存',-220.00
--> 测试数据:[tblOrder]
if object_id('[tblOrder]') is not null drop table [tblOrder]
go
create table [tblOrder]([日期] DATE,[客户] varchar(2),[摘要] varchar(6),[贷] numeric(5,2))
insert [tblOrder]
select '2014-1-20','AA','预付款',375.00
--> 测试数据:[tblEarn]
if object_id('[tblEarn]') is not null drop table [tblEarn]
go
create table [tblEarn]([日期] DATE,[客户] varchar(2),[摘要] varchar(4),[借] numeric(6,2))
insert [tblEarn]
select '2014-1-22','AA','订单',1800.00
--------------开始查询--------------------------
SELECT 日期,客户,摘要,ISNULL(CAST(借 AS VARCHAR),'-')借,isnull(CAST(贷 AS VARCHAR),'-') 贷,isnull(CAST(余额 AS VARCHAR),'-') 余额
FROM (
select * ,NULL '贷',NULL '余额'
from [tblEarn]
UNION ALL
select 日期,客户,摘要,NULL,贷,NULL from [tblOrder]
UNION ALL
select 日期,客户,摘要,NULL,NULL ,余额
from [tblBal]
)a
--where 这里筛选条件
ORDER BY 日期
----------------结果----------------------------
/*
日期 客户 摘要 借 贷 余额
---------- ---- -------- ------------------------------ ------------------------------ ------------------------------
2014-01-01 AA 上月结存 - - -220.00
2014-01-20 AA 预付款 - 375.00 -
2014-01-22 AA 订单 1800.00 - -
*/
access中能用子查询不,如果能用,就能用sql实现的,不需要用代码来实现
上面贴的图是结果把,好像有问题。而你的数据是这样的:
表一:tblBal (日期,客户,摘要,余额)
1.2014-1-1 AA 上月结存 -220.00
表二:tblOrder(日期,客户,摘要,贷)
1.2014-1-20 AA 预付款 375.00
表三:tblEarn (日期,客户,摘要,借)
1.2014-1-22 AA 订单 1800.00但图中的借1800 却在 2014-1-22 这个是不是 有问题呀
表一:tblBal (日期,客户,摘要,余额)
1.2014-1-1 AA 上月结存 -220.00
表二:tblOrder(日期,客户,摘要,贷)
1.2014-1-20 AA 预付款 375.00
表三:tblEarn (日期,客户,摘要,借)
1.2014-1-22 AA 订单 1800.00但图中的借1800 却在 2014-1-20 这个是不是 有问题呀