这句复杂的SQL语句该怎么写?请SQL 高手帮我写一下
这句复杂的SQL语句该怎么写?请SQL 高手帮我写一下
共有四个表:其字段大致如下:
流水帐 ([人员编号],[代码],[名称],[规格],[单位],[单价],[数量],[分类],[实交金额],[应交金额])
档案库 ([人员编号],[姓名],[总费用],[标志])
费用名称 ([代码],[名称],[规格],[单位],[单价],[数量],[分类],[日收取],[月收取])
房间 ([人员编号],[房间名],[床位号],[日费用(bit字段)])
将“费用名称”表中“所有[日收取]=1(这是一个bit字段)”的记录,插入到“流水帐”表中,
流水帐 ([人员编号]=档案库.人员编号,[代码]=费用名称.[代码],[名称]=费用名称.[名称],[规格]=费用名称.[规格],[单位]=费用名称.[单位],[单价]=费用名称.[单价],[数量]=费用名称.[数量],[分类]=费用名称.[分类],[实交金额]=(费用名称.[单价] * 费用名称.[数量]),[应交金额]=(费用名称.[单价] * 费用名称.[数量])
条件是: 档案库.人员编号=房间.人员编号" _
& " where 档案库.标志=1 and 房间.[日费用]=1 and 费用名称.[日收取] = 1"
绕来绕去,一会就迷糊!我胡写了一个肯定不对,请SQL 高手帮我改一下
sql$ = "insert into 流水帐 ([人员编号],[代码],[名称],[规格],[单位],[单价],[数量],[分类],[应交金额]) " _
& " select 档案库.[人员编号],[代码]=费用名称.[代码],[名称]=费用名称.[名称],[规格]=费用名称.[规格],[单位]=费用名称.[单位],[单价]=费用名称.[单价],[数量]=费用名称.[数量]," _
& "[分类]=费用名称.[分类],[实交金额]=(费用名称.[单价] * 费用名称.[数量]),[应交金额]=(费用名称.[单价] * 费用名称.[数量])" _
& " from 档案库,费用名称 left join 房间 on 档案库.人员编号=房间.人员编号" _
& " where 档案库.标志=1 and 房间.[日费用]=1 and 费用名称.[日收取] = 1"
conn.Execute sql$