【发布时间】:2018-03-08 01:00:06
【问题描述】:
我有一个获取数据的查询,因此我将其存储到 OLEDB Connection 中,因为我想将该数据多次用于另一个查询
查询
SELECT * FROM (
SELECT
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)
AND TT.TRANSDATE <= '2015-04-30'
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
然后我创建另一个 OLEDB 连接,在那里我有另一个查询,我使用来自第一个查询的数据
第二次查询(仅相关代码)
LEFT MERGE JOIN
(SELECT TTRIVA.*,TTGJAERIVA.GENERALJOURNALACCOUNTENTRY FROM TAXTRANS TTRIVA
INNER MERGE JOIN TAXTRANSGENERALJOURNALACCOUNTENTRY TTGJAERIVA ON TTGJAERIVA.TAXTRANS = TTRIVA.RECID
INNER MERGE JOIN GENERALJOURNALACCOUNTENTRY GJAERIVA ON TTGJAERIVA.GENERALJOURNALACCOUNTENTRY = GJAERIVA.RECID
AND GJAERIVA.POSTINGTYPE IN( 14,236,71) AND TTRIVA.TRANSDATE <=@FECHA) TTRIVA ON TT.VOUCHER = TTRIVA.VOUCHER
AND TT.SOURCERECID = TTRIVA.SOURCERECID
AND TT.TAXITEMGROUP = TTRIVA.TAXITEMGROUP
AND (TTRIVA.TAXCODE LIKE 'RIVA%')
AND TTRIVA.GENERALJOURNALACCOUNTENTRY = TTGJAE.GENERALJOURNALACCOUNTENTRY
--JOIN PARA RETENCIONES DE ISR PAGADAS
LEFT MERGE JOIN
(SELECT TTRISR.*,TTGJAERIVA.GENERALJOURNALACCOUNTENTRY FROM TAXTRANS TTRISR
INNER MERGE JOIN TAXTRANSGENERALJOURNALACCOUNTENTRY TTGJAERIVA ON TTGJAERIVA.TAXTRANS = TTRISR.RECID
INNER MERGE JOIN GENERALJOURNALACCOUNTENTRY GJAERIVA ON TTGJAERIVA.GENERALJOURNALACCOUNTENTRY = GJAERIVA.RECID
AND GJAERIVA.POSTINGTYPE IN( 14,236,71) AND TTRISR.TRANSDATE <=@FECHA) TTRISR ON TT.VOUCHER = TTRISR.VOUCHER AND TT.SOURCERECID = TTRISR.SOURCERECID
AND TT.TAXITEMGROUP = TTRISR.TAXITEMGROUP
AND (TTRISR.TAXCODE LIKE 'RISR%')
AND TTRISR.GENERALJOURNALACCOUNTENTRY = TTGJAE.GENERALJOURNALACCOUNTENTRY
--JOIN PARA IEPSCUOTA
LEFT MERGE JOIN
(SELECT TTIEPSCUOTA.*,TTGJAERIVA.GENERALJOURNALACCOUNTENTRY FROM TAXTRANS TTIEPSCUOTA
INNER MERGE JOIN TAXTRANSGENERALJOURNALACCOUNTENTRY TTGJAERIVA ON TTGJAERIVA.TAXTRANS = TTIEPSCUOTA.RECID
INNER MERGE JOIN GENERALJOURNALACCOUNTENTRY GJAERIVA ON TTGJAERIVA.GENERALJOURNALACCOUNTENTRY = GJAERIVA.RECID
AND GJAERIVA.POSTINGTYPE IN( 14,236,71) AND TTIEPSCUOTA.TRANSDATE <=@FECHA) TTIEPSCUOTA ON TT.VOUCHER = TTIEPSCUOTA.VOUCHER AND TT.SOURCERECID = TTIEPSCUOTA.SOURCERECID
AND TT.TAXITEMGROUP = TTIEPSCUOTA.TAXITEMGROUP
AND (TTIEPSCUOTA.TAXCODE LIKE 'IEPSCUOTAP')
AND TTIEPSCUOTA.GENERALJOURNALACCOUNTENTRY = TTGJAE.GENERALJOURNALACCOUNTENTRY
如您所见,我在每个LEFT JOIN 中都使用了FROM TAXTRANS,但我将TAXTRANS 存储在第一个查询中。如何用第一个查询数据替换第二个查询?
数据流:
【问题讨论】: