finki-main
main
|
Last change
on this file since 62b2964 was 62b2964, checked in by Klimentina Efremova <klimentina08642@…>, 2 weeks ago |
|
Project Handcraft Marketplace
|
-
Property mode
set to
100644
|
|
File size:
788 bytes
|
| Line | |
|---|
| 1 | CREATE OR REPLACE FUNCTION get_employee_product_changes_last_month()
|
|---|
| 2 | RETURNS TABLE (
|
|---|
| 3 | id BIGINT,
|
|---|
| 4 | employee_name TEXT,
|
|---|
| 5 | number_of_product_changes BIGINT
|
|---|
| 6 | )
|
|---|
| 7 | LANGUAGE plpgsql
|
|---|
| 8 | AS $$
|
|---|
| 9 | BEGIN
|
|---|
| 10 | RETURN QUERY
|
|---|
| 11 | SELECT
|
|---|
| 12 | e.id,
|
|---|
| 13 | p.name AS employee_name,
|
|---|
| 14 | COUNT(DISTINCT mc.date_and_time) AS number_of_product_changes
|
|---|
| 15 | FROM employees e
|
|---|
| 16 | JOIN personal p
|
|---|
| 17 | ON e.id = p.id
|
|---|
| 18 | LEFT JOIN makes_change mc
|
|---|
| 19 | ON e.id = mc.id
|
|---|
| 20 | LEFT JOIN change ch
|
|---|
| 21 | ON mc.date_and_time = ch.date_and_time
|
|---|
| 22 | WHERE
|
|---|
| 23 | mc.date_and_time >= date_trunc('month', CURRENT_DATE) - INTERVAL '1 month'
|
|---|
| 24 | AND mc.date_and_time < date_trunc('month', CURRENT_DATE)
|
|---|
| 25 | GROUP BY
|
|---|
| 26 | e.id,
|
|---|
| 27 | p.name
|
|---|
| 28 | ORDER BY
|
|---|
| 29 | number_of_product_changes DESC;
|
|---|
| 30 | END;
|
|---|
| 31 | $$;
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.