0
如何将当前在WHERE
子句AND subMainTable.ID = MainTable.ID
中的联接移动到FROM
子句中。在WHERE子句中使用别名FROM FROM子句中的子查询加入
由于存在别名的方式,我似乎无法将其移动到那里。
这是一个工作查询,我已经重命名并删除了与问题无关的部分。
SELECT
ID
,DETAILS
,ENTRYDATE
,ISNULL(LastBalance, 0) + (
SELECT SUM(VAL)
FROM tempData subMainTable
LEFT OUTER JOIN FinanceTable f ON subMainTable.ID = f.accId
AND subMainTable.TRANS_ID = f.txnID
WHERE subMainTable.TRANS_ID <= MainTable.TRANS_ID
AND subMainTable.ID = MainTable.ID
AND f.txnID IS NULL
) AS Balance
FROM
(SELECT MainTable.*
FROM tempData MainTable LEFT JOIN FinanceTable FinTable ON
(MainTable.ID = FinTable.accId
AND MainTable.TRANS_ID = FinTable.txnID)
WHERE (FinTable.accId IS NULL AND FinTable.txnID IS NULL)
) AS MainTable ...
一个尝试没有它不会工作,SUM(VAL)不具有一组 – Paparazzi