Aftersales_Rechnungen_ben_AW_final.sql 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. select "Invoice Type",
  2. "Invoice Number",
  3. "Subsidiary",
  4. "Invoice Date",
  5. "Service Date",
  6. "Is Canceled",
  7. "Vehicle Number",
  8. "Invoice_Type_Invoice_Number",
  9. '1' as "Hauptbetrieb",
  10. "Standort",
  11. "Serviceberater",
  12. "Umsatzart",
  13. "Fabrikat",
  14. "Fabrikat" as "Description_Makes",
  15. "Description_Models",
  16. "Model",
  17. "Fahrzeug",
  18. "Kostenstelle",
  19. "Marke",
  20. 'Service' as "Auftragsart",
  21. "Geschäftsart",
  22. "Kunde",
  23. "Time Units",
  24. "Time Units_Zahl",
  25. 10 as "AW/Std.",
  26. "verk. Std._",
  27. "Order Number",
  28. "Order Number_Rg_Ausg",
  29. "Kundenart",
  30. "Summe Duration Minutes",
  31. "Order Number_ben_AW",
  32. 1 as "Anzahl_Datensätze_1",
  33. COUNT("Order Number_ben_AW") OVER (partition by "Order Number") as "Anzahl_Datensätze_2",
  34. (c38) / (COUNT("Order Number_ben_AW") OVER (partition by "Order Number")) as "ben. Std."
  35. from
  36. (select (CASE WHEN (T2."Serviceberater" IS NOT NULL) THEN ((left((((T1."invoice_type"))),1)) + (left((((T1."invoice_number"))),9)) + ' - ' + T2."Serviceberater" + ' - ' + (CASE WHEN (T3."first_name" IS NULL) THEN ((left((((T3."customer_number"))),7)) + ' - ' + T3."family_name") ELSE ((left((((T3."customer_number"))),7)) + ' - ' + T3."first_name" + ' ' + T3."family_name") END)) ELSE ((left((((T1."invoice_type"))),1)) + (left((((T1."invoice_number"))),9)) + ' - ' + (CASE WHEN (T3."first_name" IS NULL) THEN ((left((((T3."customer_number"))),7)) + ' - ' + T3."family_name") ELSE ((left((((T3."customer_number"))),7)) + ' - ' + T3."first_name" + ' ' + T3."family_name") END)) END) as "Order Number",
  37. T9."Summe_Duration_Minutes" / 60 as c38,
  38. T9."order_number" as "Order Number_ben_AW",
  39. T9."Summe_Duration_Minutes" as "Summe Duration Minutes",
  40. (left((((T8."employee_number"))),4)) + ' - ' + T8."name" as "Kundenart",
  41. CASE WHEN ((-1 * datediff(day, (getdate()), (convert(datetime, T1."invoice_date")))) <= 4) THEN ((CASE WHEN (T2."Serviceberater" IS NOT NULL) THEN ((left((((T1."invoice_type"))),1)) + (left((((T1."invoice_number"))),9)) + ' - ' + T2."Serviceberater" + ' - ' + (CASE WHEN (T3."first_name" IS NULL) THEN ((left((((T3."customer_number"))),7)) + ' - ' + T3."family_name") ELSE ((left((((T3."customer_number"))),7)) + ' - ' + T3."first_name" + ' ' + T3."family_name") END)) ELSE ((left((((T1."invoice_type"))),1)) + (left((((T1."invoice_number"))),9)) + ' - ' + (CASE WHEN (T3."first_name" IS NULL) THEN ((left((((T3."customer_number"))),7)) + ' - ' + T3."family_name") ELSE ((left((((T3."customer_number"))),7)) + ' - ' + T3."first_name" + ' ' + T3."family_name") END)) END)) ELSE null END as "Order Number_Rg_Ausg",
  42. ((convert(float, T7."time_units"))) / 10 as "verk. Std._",
  43. (convert(float, T7."time_units")) as "Time Units_Zahl",
  44. T7."time_units" as "Time Units",
  45. CASE WHEN (T3."first_name" IS NULL) THEN ((left((((T3."customer_number"))),7)) + ' - ' + T3."family_name") ELSE ((left((((T3."customer_number"))),7)) + ' - ' + T3."first_name" + ' ' + T3."family_name") END as "Kunde",
  46. T3."zip_code" as "Geschäftsart",
  47. CASE WHEN (T4."description" = 'Ford') THEN ('1') WHEN (T4."description" = 'Nissan') THEN ('3') WHEN (T4."description" = 'Suzuki') THEN ('2') ELSE ('9') END as "Marke",
  48. CASE WHEN ((left((((T6."type"))),1)) IN ('1','6')) THEN ('41 - After Sales Kundendienst eigene Werkstatt') WHEN (T6."type" IN (40,41,44,45,46,47,48,49,88,89,50,90)) THEN ('41 - After Sales Kundendienst eigene Werkstatt') WHEN ((left((((T6."type"))),1)) IN ('2')) THEN ('44 - After Sales Kundendienst eigene Karosserieabteilung') WHEN (T6."type" IN (42,92)) THEN ('44 - After Sales Kundendienst eigene Karosserieabteilung') WHEN ((left((((T6."type"))),1)) IN ('3')) THEN ('45 - After Sales Kundendienst eigene Lackiererei') WHEN (T6."type" IN (43,93)) THEN ('45 - After Sales Kundendienst eigene Lackiererei') ELSE null END as "Kostenstelle",
  49. (left((left((((T1."vehicle_number"))),5)) + ' - ' + T5."description",100)) as "Fahrzeug",
  50. (left((ucase(T5."description")),3)) as "Model",
  51. T5."description" as "Description_Models",
  52. T4."description" as "Fabrikat",
  53. CASE WHEN (T1."invoice_type" = 6) THEN ('GWL') WHEN ((T1."invoice_type" = 4) or (T3."customer_number" = 100001)) THEN ('intern') ELSE ('extern') END as "Umsatzart",
  54. T2."Serviceberater" as "Serviceberater",
  55. '0' + (((T1."subsidiary"))) as "Standort",
  56. (left((((T1."invoice_type"))),1)) + '_' + (left((((T1."invoice_number"))),9)) as "Invoice_Type_Invoice_Number",
  57. T1."vehicle_number" as "Vehicle Number",
  58. T1."is_canceled" as "Is Canceled",
  59. T1."service_date" as "Service Date",
  60. T1."invoice_date" as "Invoice Date",
  61. T1."subsidiary" as "Subsidiary",
  62. T1."invoice_number" as "Invoice Number",
  63. T1."invoice_type" as "Invoice Type"
  64. from "ims"."ben_AW_Order_Number" T9,
  65. (((((((("dbo"."invoices" T1 left outer join "dbo"."customers_suppliers" T3 on T3."customer_number" = T1."paying_customer") left outer join "dbo"."vehicles" T10 on T1."vehicle_number" = T10."internal_number") left outer join "dbo"."makes" T4 on T10."make_number" = T4."make_number") left outer join "dbo"."models" T5 on (T10."make_number" = T5."make_number") and (T10."model_code" = T5."model_code")) left outer join "dbo"."labours" T7 on (T7."invoice_number" = T1."invoice_number") and (T7."invoice_type" = T1."invoice_type")) left outer join "dbo"."charge_type_descriptions" T6 on T6."type" = T7."charge_type") left outer join "dbo"."employees" T8 on T1."creating_employee" = T8."employee_number") left outer join "ims"."Serviceberater_Rechnung" T2 on T1."invtype_invnr" = T2."invtype_invnr")
  66. where (T7."order_number" = T9."order_number")
  67. and ((((T1."invoice_type" BETWEEN 2 AND 6) and (T1."is_canceled" <> 1)) and (T1."invoice_date" >= convert(date, '2017-01-01'))) and ((((convert(float, T7."time_units"))) <> 0) and (((convert(float, T7."time_units"))) IS NOT NULL)))
  68. ) D1
  69. -- order by "Invoice_Type_Invoice_Number" asc,"Invoice Number" asc