From 3c3ba10bf02380460f1273d458f88268a9a47387 Mon Sep 17 00:00:00 2001 From: Kevin Nowaczyk Date: Thu, 30 Dec 2021 12:59:01 -0500 Subject: [PATCH 1/3] Update SQLlibSelectTests.cls --- testing/ClassModules/SQLlibSelectTests.cls | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/testing/ClassModules/SQLlibSelectTests.cls b/testing/ClassModules/SQLlibSelectTests.cls index 36319c3..214f610 100644 --- a/testing/ClassModules/SQLlibSelectTests.cls +++ b/testing/ClassModules/SQLlibSelectTests.cls @@ -81,6 +81,18 @@ Function DistinctTest() DistinctTest = AssertObjectStringEquals(Interfaced, "SELECT DISTINCT c.country FROM customers c ORDER BY c.country ASC") End Function +Function MultipleTableTest() + 'Distinct + Set MySelect = Create_SQLSelect + With MySelect + .AddTable "countries", "c" + .AddTable "users", "u" + .Fields = Array("u.uname", "c.capital") + End With + Set Interfaced = MySelect + MultipleTableTest = AssertObjectStringEquals(Interfaced, "SELECT u.uname, c.capital FROM countries c, users u") +End Function + ' Sub: iTestCase_RunTest ' Run a specific test. Public Sub iTestCase_RunTest(Test As String, Optional clsObj = Nothing) From eb5d9d2281f86e7b9a4a2431a7d3bda2e6420993 Mon Sep 17 00:00:00 2001 From: Kevin Nowaczyk Date: Thu, 30 Dec 2021 12:59:55 -0500 Subject: [PATCH 2/3] Update SQLHelperFunctions.bas --- src/Modules/SQLHelperFunctions.bas | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/Modules/SQLHelperFunctions.bas b/src/Modules/SQLHelperFunctions.bas index fe6a209..f3743f9 100644 --- a/src/Modules/SQLHelperFunctions.bas +++ b/src/Modules/SQLHelperFunctions.bas @@ -74,3 +74,13 @@ Public Sub QuickSort(vArray As Variant, inLow As Long, inHi As Long) QuickSort vArray, tmpLow, inHi End If End Sub + +Public Function ArrayPush(vArray As Variant, newValue As Variant) + ArrLen = UBound(vArray) + If IsEmpty(vArray(0)) Then + ArrLen = -1 + End If + ReDim Preserve vArray(0 To ArrLen + 1) + vArray(ArrLen + 1) = newValue + ArrayPush = vArray +End Function From 214068cf55b5bf7ad8bc6f5fa35f86136645f3cf Mon Sep 17 00:00:00 2001 From: Kevin Nowaczyk Date: Thu, 30 Dec 2021 13:01:07 -0500 Subject: [PATCH 3/3] Update SQLSelect.cls --- src/ClassModules/SQLSelect.cls | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ClassModules/SQLSelect.cls b/src/ClassModules/SQLSelect.cls index 931a808..55f69b1 100644 --- a/src/ClassModules/SQLSelect.cls +++ b/src/ClassModules/SQLSelect.cls @@ -75,7 +75,7 @@ End Sub ' Sub: addTable ' Add a table to the query statement Public Sub addTable(sName As String, Optional sAlias As String = "") - aJoin(0) = Array("", sName, sAlias, "") + aJoin = ArrayPush(aJoin, Array("", sName, sAlias, "")) End Sub ' Sub: AddHaving @@ -226,6 +226,8 @@ Private Function JoinString() Line = "" If LineArray(0) <> "" Then Line = LineArray(0) & " JOIN " + ElseIf R > 0 Then + Lines(R - 1) = Lines(R - 1) & "," End If Line = Line & LineArray(1) If LineArray(2) <> "" Then