1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
| SELECT
--Customer No
(SELECT T_CUST.fld_company_no
FROM tbl_companies AS T_CUST
WHERE T_ORDERS.cal_customer_id = T_CUST.fld_id
) AS cust_no,
--Project No
T_ORDERS.cal_epc_no AS proj_no,
--Invoice Detail
T_STAGE.fld_stage_description AS description,
--Invoice Value
T_STAGE.cal_total_value AS invoice_value,
--Group Month Year
(SELECT to_char(T_STAGE.fld_stage_date, 'Month')||' '||to_char(T_STAGE.fld_stage_date, 'YYYY')) AS group_month,
--Latest Date
(SELECT T_ORDER.fld_event_date AS date1
FROM (SELECT fld_epc_orders_payments_id AS order_id, MAX(fld_id) AS ids
FROM tbl_epc_orders_payments_history_list
WHERE fld_status = 'Invoiced'
GROUP BY order_id) AS t1,
tbl_epc_orders_payments_history_list AS T_ORDER
WHERE t1.ids = T_ORDER.fld_id AND T_ORDER.fld_epc_orders_payments_id = T_STAGE.fld_id
AND T_ORDER.fld_status = 'Invoiced'
) AS latest_date,
--Initial Date
(SELECT T_ORDER.fld_due_date AS date1
FROM (SELECT fld_epc_orders_payments_id AS order_id, MIN(fld_id) AS ids
FROM tbl_epc_orders_payments_history_list
WHERE fld_due_date IS NOT NULL
GROUP BY order_id) AS t1,
tbl_epc_orders_payments_history_list AS T_ORDER
WHERE t1.ids = T_ORDER.fld_id AND T_ORDER.fld_epc_orders_payments_id = T_STAGE.fld_id
AND T_ORDER.fld_due_date IS NOT NULL
) AS initial_date,
--Delta
(SELECT DATE_PART('days',
(SELECT T_ORDER.fld_event_date AS date1
FROM (SELECT fld_epc_orders_payments_id AS order_id, MAX(fld_id) AS ids
FROM tbl_epc_orders_payments_history_list
WHERE fld_status = 'Invoiced'
GROUP BY order_id) AS t1,
tbl_epc_orders_payments_history_list AS T_ORDER
WHERE t1.ids = T_ORDER.fld_id AND T_ORDER.fld_epc_orders_payments_id = T_STAGE.fld_id
AND T_ORDER.fld_status = 'Invoiced'
)
-
(SELECT T_ORDER.fld_due_date AS date1
FROM (SELECT fld_epc_orders_payments_id AS order_id, MIN(fld_id) AS ids
FROM tbl_epc_orders_payments_history_list
WHERE fld_due_date IS NOT NULL
GROUP BY order_id) AS t1,
tbl_epc_orders_payments_history_list AS T_ORDER
WHERE t1.ids = T_ORDER.fld_id AND T_ORDER.fld_epc_orders_payments_id = T_STAGE.fld_id
AND T_ORDER.fld_due_date IS NOT NULL
))
) AS delta,
--Technical Authority
(SELECT T_PERSO.fld_name
FROM tbl_personnel AS T_PERSO, tbl_epc_personnel AS T_EPC
WHERE T_ORDERS.fld_epc_id = T_EPC.fld_epc_id AND
T_EPC.fld_personnel_id = T_PERSO.fld_id AND
T_EPC.fld_role = 'Technical Authority'
) AS ta,
--Notes
T_STAGE.fld_notes AS notes,
--Count
(SELECT COUNT(T_ORDERS.cal_epc_no)
FROM tbl_epc_orders_payments AS T_STAGE, tbl_epc_orders AS T_ORDERS
WHERE T_STAGE.fld_epc_orders_id = T_ORDERS.fld_id AND T_STAGE.fld_status ='Invoiced'
) AS count_records,
--Sum
(SELECT SUM(T_STAGE.cal_total_value)
FROM tbl_epc_orders_payments AS T_STAGE, tbl_epc_orders AS T_ORDERS
WHERE T_STAGE.fld_epc_orders_id = T_ORDERS.fld_id AND T_STAGE.fld_status ='Invoiced'
) AS sum_invoices
FROM
tbl_epc_orders_payments AS T_STAGE,
tbl_epc_orders AS T_ORDERS
WHERE
T_STAGE.fld_epc_orders_id = T_ORDERS.fld_id AND T_STAGE.fld_status ='Invoiced'
AND latest_date BETWEEN '2009-02-26' AND '2009-11-22'
ORDER BY delta ASC, proj_no ASC, latest_date ASC, cust_no ASC ; |
Partager