summaryrefslogtreecommitdiff
path: root/db/migrations/0078_empty_shooting_star.sql
blob: 032f9ae02c5f351ae7f99f68a94402d52e09b273 (plain)
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
DROP VIEW "public"."rfqs_view";--> statement-breakpoint
CREATE VIEW "public"."rfqs_view" AS (select "rfqs"."id" as "rfq_id", "rfqs"."status" as "status", "rfqs"."created_at" as "created_at", "rfqs"."updated_at" as "updated_at", "rfqs"."created_by" as "created_by", "rfqs"."rfq_type" as "rfq_type", "rfqs"."rfq_code" as "rfq_code", "rfqs"."description" as "description", "rfqs"."due_date" as "due_date", "rfqs"."parent_rfq_id" as "parent_rfq_id", "projects"."id" as "project_id", "projects"."code" as "project_code", "projects"."name" as "project_name", "users"."email" as "user_email", "users"."name" as "user_name", (
          SELECT COUNT(*) 
          FROM "rfq_items" 
          WHERE "rfq_items"."rfq_id" = "rfqs"."id"
        ) as "item_count", (
          SELECT COUNT(*) 
          FROM "rfq_attachments" 
          WHERE "rfq_attachments"."rfq_id" = "rfqs"."id"
        ) as "attachment_count", (
          SELECT MAX("created_at") 
          FROM "rfq_attachments" 
          WHERE "rfq_attachments"."rfq_id" = "rfqs"."id"
        ) as "latest_attachment_date", (
          SELECT MIN("unit_price") 
          FROM "rfq_items" 
          WHERE "rfq_items"."rfq_id" = "rfqs"."id"
        ) as "min_item_price", (
          SELECT MAX("unit_price") 
          FROM "rfq_items" 
          WHERE "rfq_items"."rfq_id" = "rfqs"."id"
        ) as "max_item_price", (
          SELECT SUM("unit_price" * "quantity") 
          FROM "rfq_items" 
          WHERE "rfq_items"."rfq_id" = "rfqs"."id"
        ) as "total_items_amount" from "rfqs" left join "projects" on "rfqs"."project_id" = "projects"."id" left join "users" on "rfqs"."created_by" = "users"."id");