根据您的提示,我查了下资料,select * from A inner join B on A.aID = B.bID现在我有现成的表B,但表A我该如何得到呢?是要将rs1记录集先 生成 表A吗?
select ... from ( (SELECT hou.名 AS 员工, hou.点-IIf(IsNull(qian.点),0,qian.点) AS 工资 FROM hou LEFT JOIN qian ON hou.名 = qian.名 where (hou.点-IIf(IsNull(qian.点),0,qian.点) as 表A left join (select ... ) as 表B ) as 表 C
谢谢,小弟先说下我的做法,您看下是不是和您的思路一样题目中原先的那串SQL语句太长,为使您看得直观,我先假设为XXX,我是这样写的: rs2 open "select * from (XXX) inner join 员工资料表 on (XXX).员工 = 员工资料表.员工",conn, adOpenKeyset, adLockOptimistic这样写行不行哈
select ... from
(
(SELECT hou.名 AS 员工, hou.点-IIf(IsNull(qian.点),0,qian.点) AS 工资 FROM hou LEFT JOIN qian ON hou.名 = qian.名 where (hou.点-IIf(IsNull(qian.点),0,qian.点) as 表A
left join
(select ... ) as 表B
)
as 表 C
谢谢,小弟先说下我的做法,您看下是不是和您的思路一样题目中原先的那串SQL语句太长,为使您看得直观,我先假设为XXX,我是这样写的:
rs2 open "select * from (XXX) inner join 员工资料表 on (XXX).员工 = 员工资料表.员工",conn, adOpenKeyset, adLockOptimistic这样写行不行哈
strsql = strsql & "SELECT hou.名 AS 员工 " & vbCrLf
strsql = strsql & " , hou.点-IIf(IsNull(qian.点),0,qian.点) AS 工资 " & vbCrLf
strsql = strsql & " , ygzl.住址 " & vbCrLf
strsql = strsql & " FROM hou " & vbCrLf
strsql = strsql & " LEFT JOIN " & vbCrLf
strsql = strsql & " qian ON hou.名 = qian.名 " & vbCrLf
strsql = strsql & " LEFT JOIN " & vbCrLf
strsql = strsql & " 员工资料表 as ygzl ON hou.名 = ygzl.员工 " & vbCrLf
strsql = strsql & " where (hou.点-IIf(IsNull(qian.点),0,qian.点)) > 0"