【发布时间】:2012-03-02 06:13:07
【问题描述】:
我有两个数据库,一个在测试环境中,是 sqllite3,另一个是用于 qa/prod 的 oracle db。这不是我的系统,我无法控制此设置。我编写了一个在我的测试环境中工作的 SQL 查询,但对 qa 失败。我假设它与 oracle 和 sqllite3 之间的差异有关,但我不知道发生了什么。感谢您的帮助。
这是错误和 SQL:
OCIError: ORA-00903: 无效的表名:
SELECT 'agency' AS came_from,
account.name as account_name, agency.id as id,
agency.name as name,
agency.contact_name as contact_name,
agency.contact_email as
contact_email, agency.phone_number as phone_number,
agency.account as account
FROM 'agency' LEFT OUTER JOIN account
ON account.id ='agency'.account WHERE account in (1601)
UNION SELECT 'advertiser' AS came_from,
account.name as account_name, advertiser.id as id,
advertiser.name as name, advertiser.contact_name as contact_name,
advertiser.contact_email as contact_email,
advertiser.phone_number as phone_number,
advertiser.account as account
FROM 'advertiser'
LEFT OUTER JOIN account ON account.id = 'advertiser'.account
WHERE account in (1601) AND (advertiser.workflow_state <> 'deleted'
OR advertiser.workflow_state
IS NULL) ORDER BY name asc
【问题讨论】:
标签: oracle