0
私が持っているこのクエリ私はエラーを取得間違ったクエリ
SELECT *
FROM
(SELECT
TT.RECID, TT.TRANSDATE,
TT.DATAAREAID, TT.SOURCERECID,
TT.SOURCECURRENCYCODE, TT.TAXAMOUNT,
TT.TAXBASEAMOUNT, TT.TAXBASEAMOUNTCUR,
TT.TAXAMOUNTCUR, TT.TAXORIGIN,
TT.VOUCHER, TT.TAXITEMGROUP,
TT.TAXCODE, TT.SOURCEBASEAMOUNTCUR,
TT.SOURCETAXAMOUNTCUR,
TTGJAERIVA.TAXTRANSRELATIONSHIP,
TTGJAERIVA.GENERALJOURNALACCOUNTENTRY,
TTGJAERIVA.LEDGERDIMENSION,
GJAERIVA.TEXT,
GJAERIVA.LEDGERDIMENSION AS LEDGERDIMENSIONGAE,
GJAERIVA.POSTINGTYPE
FROM
TAXTRANS TT
INNER MERGE JOIN
TAXTRANSGENERALJOURNALACCOUNTENTRY TTGJAERIVA ON TTGJAERIVA.TAXTRANS = TT.RECID
INNER MERGE JOIN
GENERALJOURNALACCOUNTENTRY GJAERIVA ON TTGJAERIVA.GENERALJOURNALACCOUNTENTRY = GJAERIVA.RECID
AND GJAERIVA.POSTINGTYPE IN (14, 236, 71, 41)
WHERE
(TT.TAXORIGIN <> 11
AND TT.TRANSDATE BETWEEN '2015-01-01' AND '2015-04-30')
OR
(TT.TAXORIGIN = 11
AND TT.TRANSDATE BETWEEN '2015-01-01' AND '2015-04-30')) AS T
---- --JOIN
LEFT MERGE JOIN
(SELECT
SOURCERECID, TAXITEMGROUP, TAXCODE,
GENERALJOURNALACCOUNTENTRY, VOUCHER, TAXAMOUNT,
TAXAMOUNTCUR
FROM
T) TTRIVA ON T.VOUCHER = TTRIVA.VOUCHER
AND T.SOURCERECID = TTRIVA.SOURCERECID
AND TT.TAXITEMGROUP = TTRIVA.TAXITEMGROUP
AND (TTRIVA.TAXCODE LIKE 'RIVA%')
AND TTRIVA.GENERALJOURNALACCOUNTENTRY = TTGJAE.GENERALJOURNALACCOUNTENTRY
:サブクエリへ
Invalid object name 'T'.
、直後に左マージは(クエリの最終時)に参加し
---- --JOIN
LEFT MERGE JOIN
(SELECT
SOURCERECID, TAXITEMGROUP, TAXCODE,
GENERALJOURNALACCOUNTENTRY, VOUCHER,
TAXAMOUNT, TAXAMOUNTCUR
FROM
T) TTRIVA ON T.VOUCHER = TTRIVA.VOUCHER
AND T.SOURCERECID = TTRIVA.SOURCERECID
AND TT.TAXITEMGROUP = TTRIVA.TAXITEMGROUP
AND (TTRIVA.TAXCODE LIKE 'RIVA%')
AND TTRIVA.GENERALJOURNALACCOUNTENTRY = TTGJAE.GENERALJOURNALACCOUNTENTRY
参加前にクエリの結果として「T」を使用すると、なぜそれが発生するのかわかりません。よろしくお願いします。
SQLを分割したい場合があります。これは将来的にメンテナンスの悪夢になるだろう。 – dhiman
私はその悪夢を信じています@DhimanBhattacharya – Ledwing
サイドノート:特にSQL Serverでは、[BETWEEN'を使用しないでください](http://sqlblog.com/blogs/aaron_bertrand/archive/2011/10/19/)何の間に - と - 悪魔の持っているcommon.aspx)。私は、完全なタイムスタンプではなく、「transdate」が日付であることを完全には確信していません –