Office 2010在运行这样的大型查询时会导致MSQuery崩溃:
SELECT TRANSACTION_DETAIL.ACCT_ID, TRANSACTION_DETAIL.ACCT_DESC,
TRANSACTION_DETAIL.ACT_COST, TRANSACTION_DETAIL.EMPL_ID,
TRANSACTION_DETAIL.EMPL_NAME, TRANSACTION_DETAIL.FISCAL_QTR,
TRANSACTION_DETAIL.FY_CD, TRANSACTION_DETAIL.NOTES,
TRANSACTION_DETAIL.OBS_ORG_NAME, TRANSACTION_DETAIL.OWNING_ORG_ID,
TRANSACTION_DETAIL.PD_NO, TRANSACTION_DETAIL.TRANSACTION_TYPE,
TRANSACTION_DETAIL.TRANS_DATE, TRANSACTION_DETAIL.TRN_DESC
FROM OPS$CPDMUSER.TRANSACTION_DETAIL TRANSACTION_DETAIL
WHERE (TRANSACTION_DETAIL.ACCT_ID like '5%')
AND (TRANSACTION_DETAIL.FY_CD='2011')它在MS2007上运行得很好。
这在数据库中运行得很好,我需要像这样使用,因为我想要所有以5开头的帐户id。
它从oracle数据库中提取数据,而我们使用的是Oracle 10 g
我正在使用oracle 10G ODBC驱动程序
发布于 2012-12-04 18:26:59
我会尝试将您的查询包装为子查询。在Oracle中使用MSQuery时,我认为这是由于MSQuery试图在查询编辑器中显示查询而引起的。包装在子查询中会迫使MSQuery放弃显示编辑器,只按原样使用SQL。然后,您的查询将变为:
SELECT * FROM (
SELECT TRANSACTION_DETAIL.ACCT_ID, TRANSACTION_DETAIL.ACCT_DESC,
TRANSACTION_DETAIL.ACT_COST, TRANSACTION_DETAIL.EMPL_ID,
TRANSACTION_DETAIL.EMPL_NAME, TRANSACTION_DETAIL.FISCAL_QTR,
TRANSACTION_DETAIL.FY_CD, TRANSACTION_DETAIL.NOTES,
TRANSACTION_DETAIL.OBS_ORG_NAME, TRANSACTION_DETAIL.OWNING_ORG_ID,
TRANSACTION_DETAIL.PD_NO, TRANSACTION_DETAIL.TRANSACTION_TYPE,
TRANSACTION_DETAIL.TRANS_DATE, TRANSACTION_DETAIL.TRN_DESC
FROM OPS$CPDMUSER.TRANSACTION_DETAIL TRANSACTION_DETAIL
WHERE (TRANSACTION_DETAIL.ACCT_ID like '5%')
AND (TRANSACTION_DETAIL.FY_CD='2011')
) https://stackoverflow.com/questions/5122129
复制相似问题