Ich habe diese AbfrageFalsche Abfrage bei dem Versuch, Unterabfrage zu implementieren
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
Ich erhalte eine Fehlermeldung:
Invalid object name 'T'.
in Unterabfrage, kurz nach links Mergeverknüpfung (bei den letzten der Abfrage)
Ich weiß nicht, warum es auftritt, wenn ich 'T' als Ergebnis der Abfrage vor Join verwenden? Grüße
Vielleicht möchten Sie die SQL zu brechen. Dies wird in Zukunft ein Alptraum für die Instandhaltung sein. – dhiman
Glauben Sie mir, es ist ein Albtraum jetzt @DhimanBhattacharya – Ledwing
Randnotiz: Vor allem auf SQL Server, bitte [nicht verwenden Sie BETWEEN'] (http://sqlblog.com/blogs/aaron_bertrand/archive/2011/10/19/ was-haben-zwischen-und-der-Teufel-haben-in-common.aspx). Ich bin nicht ganz davon überzeugt, dass "transdate" ein Datum ist, im Gegensatz zu einem vollen Zeitstempel –