Forum Discussion
Convert Access query to Sql Server
But overall I agree with you: very cryptic, and lots of non-essential information.
This is the way the SQL Converter rendered the Access SQL into TSQL.
SELECT TemporaryTransactionsQuery2.Account
,TemporaryTransactionsQuery2.ChkRef
,TemporaryTransactionsQuery2.Debit
,TemporaryTransactionsQuery2.Credit
,TemporaryTransactionsQuery2.Balance
,TemporaryTransactionsQuery2.[Date]
,TemporaryTransactionsQuery2.Description
,TemporaryTransactionsQuery2.AccountName
,TemporaryTransactionsQuery2.Description16
,TemporaryTransactionsQuery2.PayeePayor
,TemporaryTransactionsQuery2.CombinedCategory
,TemporaryTransactionsQuery2.Multiple
,TemporaryTransactionsQuery2.ID
,Max(IIf([tblTransactions].[Account]=[TemporaryTransactionsQuery2].[AccountName]
AND [tblTransactions].[PayeePayor]=[TemporaryTransactionsQuery2].[PayeePayor]
AND [tblTransactions].[ConbinedCategory]=[TemporaryTransactionsQuery2].[CombinedCategory]
AND [tblTemporaryTransactions].[Date]-10>=[tblTransactions].[TranDate],1,0)) AS Expr2
,Max(IIf(([tblTemporaryTransactions].[PayeePayor] IS NULL)=1
AND ([tblTemporaryTransactions].[CombinedCategory] IS NULL)=1,1,0)) AS Expr3
,TemporaryTransactionsQuery2.Type
,TemporaryTransactionsQuery2.Shares
,TemporaryTransactionsQuery2.Price
,TemporaryTransactionsQuery2.CommFees
FROM (TemporaryTransactionsQuery2
INNER JOIN tblTemporaryTransactions ON TemporaryTransactionsQuery2.ID = tblTemporaryTransactions.ID)
INNER JOIN tblTransactions ON TemporaryTransactionsQuery2.AccountName = tblTransactions.Account
GROUP BY TemporaryTransactionsQuery2.Account
,TemporaryTransactionsQuery2.ChkRef
,TemporaryTransactionsQuery2.Debit
,TemporaryTransactionsQuery2.Credit
,TemporaryTransactionsQuery2.Balance
,TemporaryTransactionsQuery2.[Date]
,TemporaryTransactionsQuery2.Description
,TemporaryTransactionsQuery2.AccountName
,TemporaryTransactionsQuery2.Description16
,TemporaryTransactionsQuery2.PayeePayor
,TemporaryTransactionsQuery2.CombinedCategory
,TemporaryTransactionsQuery2.Multiple
,TemporaryTransactionsQuery2.ID
,TemporaryTransactionsQuery2.Type
,TemporaryTransactionsQuery2.Shares
,TemporaryTransactionsQuery2.Price
,TemporaryTransactionsQuery2.CommFees
HAVING (((Max(IIf(([tblTemporaryTransactions].[PayeePayor] IS NULL)=1
AND ([tblTemporaryTransactions].[CombinedCategory] IS NULL)=1,1,0)))=1))
ORDER BY TemporaryTransactionsQuery2.[Date] DESC
The HAVING Clause was converted by the tool. The logic escapes me, though, in both versions.