以下是引用don在2013-5-7 19:06:00的发言:
SQL的,辛辛苦苦写的,就贴出吧:
Dim SQL,s1,s2 As String
Dim ns As String() = {"人员工资表","数据导入"}
Dim nms As String() = {"职务工资","级别工资","工龄工资"}
s2 = "Select 身份证号,姓名,'@' As 变动项目,@ As 变动前 FROM {#} a WHERE NOT EXISTS(Select 身份证号,姓名,@ FROM {^} b WHERE a.身份证号 =b.身份证号 And a.@= b.@)"
s1 =" Union all Select a.身份证号,a.姓名,a.变动项目,变动前,变动后 From(" & s2.Replace("#",ns(0)).Replace("^",ns(1)) & ") a Inner Join ("
s1+ = s2.Replace("#",ns(1)).Replace("^",ns(0)).Replace("变动前","变动后") & ") b On a.身份证号 = b.身份证号"
For Each s2 In nms
SQL+ = s1.replace("@",s2)
Next
SQL =SQL.substring(11)
Output.Show(SQL)
各有千秋,但sql法理解难度大点
[此贴子已经被作者于2013-5-7 19:06:11编辑过]