0
我有一個要求來創建要用於生成報告的視圖。該視圖將獲取一個用戶表,並根據用戶標識和訂單標識將其與訂單表和工作流表結合起來。這個觀點很複雜,因爲我需要連接訂單表多次,因爲我需要根據幾種不同的訂單狀態加入。將參數傳遞給加入
我需要能夠獲得每個用戶打開狀態的訂單數量,狀態爲「返回」,「保留」或「返回 - 錯誤」的訂單數量以及每個用戶的每個區域的訂單數量。
獲取所有數據在一起很好我剛剛設置了一個簡單的選擇連接,每個計數要求如下。我的問題是,這將返回表中的所有記錄計數,我需要能夠限制它在一定的時間內將被參數化的訂單。
我需要一些幫助來獲得連接的時間限制。
select u.FIRST_NAME || ' ' || u.LAST_NAME as ASSIGNED_TO,
u.ID,
j4.TOTAL_AREA1,
j1.total,
j2.TOTAL_OPENED,
j3.TOTAL_RETURNED
from users u
left outer join
(
select u1.FIRST_NAME || ' ' || u1.LAST_NAME as ASSIGNED_TO,
u1.ID,
COUNT(o1.ORDER_KEY) as total
from users u1,
orders o1,
WORKFLOW_WORKITEM ww1
where
o1.ORDER_KEY = ww1.ENTITY_KEY_NUM
AND ww1.ENTITY_NAME = 'Order'
AND ww1.ASSIGNED_TO = U1.ID
GROUP BY u1.FIRST_NAME,
u1.LAST_NAME,
u1.id) j1
on
j1.ID = u.ID
left outer join
(
select u1.FIRST_NAME || ' ' || u1.LAST_NAME as ASSIGNED_TO,
u1.ID,
COUNT(o1.ORDER_KEY) as TOTAL_OPENED
from users u1,
ORDERS o1,
WORKFLOW_WORKITEM ww1
where
o1.CASE_KEY = ww1.ENTITY_KEY_NUM
AND ww1.ENTITY_NAME = 'Order'
AND ww1.ASSIGNED_TO = U1.ID
AND ww1.STATUS_CODE='S_ORD_CA_021'
GROUP BY u1.FIRST_NAME,
u1.LAST_NAME,
u1.id) j2
on
j2.ID = u.ID
left outer join
(
select u1.FIRST_NAME || ' ' || u1.LAST_NAME as ASSIGNED_TO,
u1.ID,
COUNT(o1.ORDER_KEY) as TOTAL_RETURNED
from users u1,
ORDERS o1,
WORKFLOW_WORKITEM ww1
where
o1.ORDER_KEY = ww1.ENTITY_KEY_NUM
AND ww1.ENTITY_NAME = 'Order'
AND ww1.ASSIGNED_TO = U1.ID
AND ww1.STATUS_CODE in ('S_ORD_CA_015', 'S_ORD_CA_016', 'S_ORD_CA_017','S_ORD_CA_018')
GROUP BY u1.FIRST_NAME,
u1.LAST_NAME,
u1.id) j3
on
j3.ID = u.ID
left outer join
(
select
u1.ID,
COUNT(o1.ORDER_KEY) as TOTAL_AREA1
from users u1,
ORDERS o1,
WORKFLOW_WORKITEM ww1,
domains dm
where
o1.ORDER_KEY = ww1.ENTITY_KEY_NUM
AND ww1.ENTITY_NAME = 'Order'
AND ww1.ASSIGNED_TO = U1.ID
and ww1.DOMAIN_ID=dm.ID
AND dm.CODE='AREA1'
GROUP BY
u1.FIRST_NAME,
u1.LAST_NAME,
u1.id,
ww1.DOMAIN_ID,
dm.DESCRIPTION
) j4
on
j4.ID = u.ID
的答覆十分感謝。我使用dbvisualizer來執行sql。我明白你的意思了,我明天當我回到辦公室並隨時更新時,我會明白這一點。 – briansexton
在本網站的變量部分中,您可以找到如何在dbvisualizer中綁定參數的說明:http://www.dbvis.com/doc/7.1/doc/ug/sqlCommander/sqlCommander.html#mozTocId637655它說你應該使用' $ {notation} $',所以你的參數行應該看起來像這樣: 'o1.DATE to_date($ {param_from} $,'YYYY-MM-DD')和to_date($ {param_to} $' YYYY-MM-DD')'(我推薦使用'to_date'函數,所以你可以明確指定日期格式)。 – Bru