【发布时间】:2014-01-27 06:38:01
【问题描述】:
我正在尝试使用 LEFT JOIN 连接 3 个表,但我总是出错。请帮帮我。
谢谢
我想要的输出:
Name Date Open Close
POS 01/01/2014 4 10
ONE 01/02/2014 6 5
...
...
...
我的查询:
SELECT 'Data'
||','||TO_CHAR(D.DTIME_DAY,'MM/dd/yyyy')
||','||NVL(o.CNT_OPENED,0) --as cnt_opened
||','||NVL(c.CNT_CLOSED,0) --as cnt_closed
||','||q.NAME
FROM OWNER_DWH.DC_DATE d
LEFT JOIN APP_ACCOUNT.OTRS_QUEUE q
ON t.queue_id = q.id
LEFT JOIN (
SELECT TRUNC(t.CREATE_TIME) AS report_date,count(*) AS cnt_opened
FROM APP_ACCOUNT.OTRS_TICKET t
WHERE t.CREATE_TIME BETWEEN SYSDATE -120 AND SYSDATE
GROUP BY TRUNC(t.CREATE_TIME)
) o ON d.DTIME_DAY=o.REPORT_DATE
LEFT JOIN (
SELECT TRUNC(t.CLOSE_TIME) as report_date,count(*) AS cnt_closed
FROM APP_ACCOUNT.OTRS_TICKET t
WHERE t.CLOSE_TIME BETWEEN SYSDATE -120 AND SYSDATE
GROUP BY TRUNC(t.CLOSE_TIME)
) c ON D.DTIME_DAY=c.REPORT_DATE
WHERE d.DTIME_DAY BETWEEN SYSDATE -120 AND TRUNC(SYSDATE) -1
AND d.DTIME_DAY = TRUNC(d.DTIME_DAY)
AND TRUNC(d.DTIME_DAY)= d.DTIME_DAY
ORDER BY D.DTIME_DAY;
【问题讨论】:
-
删除第 8 行中的
;并尝试ON t.queue_id = q.id -
您的错误有什么花言巧语吗?
-
ORA-00904: "T"."QUEUE_ID": 无效标识符@wruckie
-
我已经删除了 ;在我的查询中,我仍然有一个错误@Dba
-
那是因为你需要在 FROM 子句中声明一个表,然后再尝试在 JOIN 条件中使用它。
标签: sql oracle plsql oracle-sqldeveloper plsqldeveloper