表 TT1
字段是L1,L2
L1 L2
2 1
3 1
4 1
5 1
表 TT2
字段是M1,M2
M1 M2
bb1 1
bb2 2
bb3 3
bb4 4条件 M2 = L1-L2要求用SQL处理后,所得结果为 L1 L2 M1
2 1 bb1
3 1 bb2
4 1 bb3
5 1 bb4用Select union Select 与目标有差距。
请问各位大侠,应该用SQL的哪种形式
谢谢
字段是L1,L2
L1 L2
2 1
3 1
4 1
5 1
表 TT2
字段是M1,M2
M1 M2
bb1 1
bb2 2
bb3 3
bb4 4条件 M2 = L1-L2要求用SQL处理后,所得结果为 L1 L2 M1
2 1 bb1
3 1 bb2
4 1 bb3
5 1 bb4用Select union Select 与目标有差距。
请问各位大侠,应该用SQL的哪种形式
谢谢
FROM TT1 INNER JOIN
TT2 ON TT1.L1 - TT1.L2 = TT2.M2
FROM tt1, tt2
WHERE m2=l1-l2;
这种用法在网上没找到,用起来比1楼的简单。
SELECT TT1.L1, TT1.L2, TT2.M1
FROM TT1 INNER JOIN
TT2 ON TT1.L1 - TT1.L2 = TT2.M2谢谢,网上两位解答。
FROM tt1, tt2
WHERE m2=l1-l2;
FROM tt1, tt2
WHERE m2=l1-l2;
这是一种偷懒的方法。
FROM tt1, tt2
WHERE m2=l1-l2;
偷懒的方法与下式比较简单实用,程序较短。
SELECT TT1.L1, TT1.L2, TT2.M1
FROM TT1 INNER JOIN
TT2 ON TT1.L1 - TT1.L2 = TT2.M2
下面程序用偷懒方法,要比用正规的编程方法要短一些。
Sub c()
Dim Rst As ADODB.Recordset
Dim Sql As String
Sql = "Select tt1.lineStartPoint0,tt1.lineEndPoint0 , " & _
" tt1.lineStartPoint1,tt1.lineEndPoint1, " & _
" round(tt2.DimMeasurement,3),tt2.DimMText " & _
" From [Line$] tt1, [Dim$] tt2" & _
" Where abs(round(DimMeasurement,3)) = abs(round(lineStartPoint0 - lineEndPoint0,3)) " & _
" Or " & _
"abs(round(DimMeasurement,3)) = abs(round(lineStartPoint1 - lineEndPoint1,3))"
Set Rst = ConnectRst(Sql)
With Sheet2
.Range("A:Z").ClearContents
.Range("A2").CopyFromRecordset Rst
End With
End Sub