当前位置: 代码迷 >> Sql Server >> SQL多表查询,某字段牵系多类型
  详细解决方案

SQL多表查询,某字段牵系多类型

热度:114   发布时间:2016-04-24 08:53:14.0
SQL多表查询,某字段涉及多类型

付费表:
[Id] [int] IDENTITY(1,1) NOT NULL,--ID
[ElderId] [int] NOT NULL,--付费人
[Expenses] [decimal](18, 2) NOT NULL,--付费金额
[AddDate] [datetime] NOT NULL,--付费日期
[ComeFrom] [nvarchar](50) NULL--费用来源


预存款表:
[Id] [int] IDENTITY(1,1) NOT NULL,--ID
[Elderid] [int] NOT NULL,--预存款人
[Expenses] [decimal](18, 2) NOT NULL,--预存款金额
[ExpensesType] [nvarchar](50) NOT NULL,--预存款类型
[AddDate] [datetime] NOT NULL--预存款缴费日期


数据:

付费表:
ID ElderID Expenses AddDate    ComeFrom
1 2        2000 2015-09-15      2
1 2        2000 2015-09-20     现金


预存款表:
ID Elderid Expenses ExpensesType AddDate
1 2         20000 预存款A    2015-09-01
2     2            5000                预存款B       2015-08-08


付费表中如果是数值型,就说明他对应的预付款表中的ID为2的数据,如果是字符串型,说明来源是其他类型
现在要怎么读取才能显示为:
付费信息:

付费信息:
付费日期   费用来源  付费金额  付费人
2015-09-15 预付款B   2000   2
2015-09-20  现金     2000     2



------解决思路----------------------
我觉得你表结构不合理或者你没有描述清楚,特别是这句“就说明他对应的预付款表中的ID为2的数据”这个ID是,如果是多条怎么存?
比如你的付费表第一条记录,是21000,超出了预付费的任意一条记录,但又没超出了预付费的总和...你的ComeFrom应该放什么...
  相关解决方案