I am working with VB6 looking at an Access database and I am trying to setup an SQL statement with a sub-query. My joined tables have multiple lines/rows for an item (DrawHdrID), and I need to collapse them all into one single line, and show the highest number of one column (Request number) and the total of another column (Contract amount). Can someone look at what I have so far and help me get pointed in the right direction? I have been looking at this for days trying to figure out the syntax but I can't seem to get it right. Thanks in advance for any help that you can give in this issue!
strSQLtmpDrawLookup = ""
strSQLtmpDrawLookup = " SELECT JCDrHdr.DrawHdrID, JCDrHdr.ReqNo AS Request, JCDrHdr.PrjNo AS Project, JCDrHdr.JobNo AS Job, JCDES.DesName AS JobName, JCDES.DesLoNo AS LotNo,(Select Sum (ContractTotal)=('RevConAmt','JCDrDtl','DrawHdrID=' & [JCDrHdr].[DrawHdrID] & ' And DrawNo=' & Max(ContractTotal)= ('ReqNo','JCDrHdr','DrawHdrID=' & [JCDrHdr].[DrawHdrID] & '')) AS ContractTotal From JCDrHdr)"
strSQLtmpDrawLookup = strSQLtmpDrawLookup & " FROM (JCDrLndr RIGHT JOIN (JCDrHdr INNER JOIN JCDrDtl ON JCDrHdr.DrawHdrID = JCDrDtl.DrawHdrID) ON JCDrLndr.LenderID = JCDrHdr.LenderID) LEFT JOIN JCDES ON (JCDrHdr.JobNo = JCDES.DesJbNo) AND (JCDrHdr.PrjNo = JCDES.DesPrNo)"
strSQLtmpDrawLookup = strSQLtmpDrawLookup & "
GROUP BY JCDrHdr.DrawHdrID, JCDrHdr.ReqNo, JCDrHdr.PrjNo, JCDrHdr.JobNo, JCDES.DesName, JCDES.DesLoNo"
strSQLtmpDrawLookup = strSQLtmpDrawLookup & "
HAVING (Select Max( (JCDrHdr.ReqNo)=('ReqNo' & 'JCDrHdr' & 'DrawHdrID=' & [JCDrHdr].[DrawHdrID] & ''))as MaxRequest From JCDrHdr)"
Debug.Print strSQLtmpDrawLookup
strSQLtmpDrawLookup = ""
strSQLtmpDrawLookup = " SELECT JCDrHdr.DrawHdrID, JCDrHdr.ReqNo AS Request, JCDrHdr.PrjNo AS Project, JCDrHdr.JobNo AS Job, JCDES.DesName AS JobName, JCDES.DesLoNo AS LotNo,(Select Sum (ContractTotal)=('RevConAmt','JCDrDtl','DrawHdrID=' & [JCDrHdr].[DrawHdrID] & ' And DrawNo=' & Max(ContractTotal)= ('ReqNo','JCDrHdr','DrawHdrID=' & [JCDrHdr].[DrawHdrID] & '')) AS ContractTotal From JCDrHdr)"
strSQLtmpDrawLookup = strSQLtmpDrawLookup & " FROM (JCDrLndr RIGHT JOIN (JCDrHdr INNER JOIN JCDrDtl ON JCDrHdr.DrawHdrID = JCDrDtl.DrawHdrID) ON JCDrLndr.LenderID = JCDrHdr.LenderID) LEFT JOIN JCDES ON (JCDrHdr.JobNo = JCDES.DesJbNo) AND (JCDrHdr.PrjNo = JCDES.DesPrNo)"
strSQLtmpDrawLookup = strSQLtmpDrawLookup & "
GROUP BY JCDrHdr.DrawHdrID, JCDrHdr.ReqNo, JCDrHdr.PrjNo, JCDrHdr.JobNo, JCDES.DesName, JCDES.DesLoNo"
strSQLtmpDrawLookup = strSQLtmpDrawLookup & "
HAVING (Select Max( (JCDrHdr.ReqNo)=('ReqNo' & 'JCDrHdr' & 'DrawHdrID=' & [JCDrHdr].[DrawHdrID] & ''))as MaxRequest From JCDrHdr)"
Debug.Print strSQLtmpDrawLookup