Aftersales_Rechnungen_ben_AW_final.sql 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. select c64 as "Invoice Type",
  2. c63 as "Invoice Number",
  3. c62 as "Subsidiary",
  4. c61 as "Invoice Date",
  5. c60 as "Service Date",
  6. c59 as "Is Canceled",
  7. c58 as "Vehicle Number",
  8. c57 as "Invoice_Type_Invoice_Number",
  9. '1' as "Hauptbetrieb",
  10. c56 as "Standort",
  11. c55 as "Serviceberater",
  12. c54 as "Umsatzart",
  13. c53 as "Fabrikat",
  14. c53 as "Description_Makes",
  15. c52 as "Description_Models",
  16. c51 as "Model",
  17. c50 as "Fahrzeug",
  18. c49 as "Kostenstelle",
  19. c48 as "Marke",
  20. 'Service' as "Auftragsart",
  21. c47 as "Geschäftsart",
  22. c46 as "Kunde",
  23. c45 as "Time Units",
  24. c44 as "Time Units_Zahl",
  25. 10 as "AW/Std.",
  26. c43 as "verk. Std._",
  27. c37 as "Order Number",
  28. c42 as "Order Number_Rg_Ausg",
  29. c41 as "Kundenart",
  30. c40 as "Summe Duration Minutes",
  31. c39 as "Order Number_ben_AW",
  32. 1 as "Anzahl_Datensätze_1",
  33. COUNT(c39) OVER (partition by c37) as "Anzahl_Datensätze_2",
  34. (c38) / (COUNT(c39) OVER (partition by c37)) as "ben. Std."
  35. from
  36. (select (CASE WHEN (T2."Serviceberater" IS NOT NULL) THEN ((left(((convert(varchar(50), T1."invoice_type"))))) + (left(((convert(varchar(50), T1."invoice_number"))))) + ' - ' + T2."Serviceberater" + ' - ' + (CASE WHEN (T3."first_name" IS NULL) THEN ((left(((convert(varchar(50), T3."customer_number"))))) + ' - ' + T3."family_name") ELSE ((left(((convert(varchar(50), T3."customer_number"))))) + ' - ' + T3."first_name" + ' ' + T3."family_name") END)) ELSE ((left(((convert(varchar(50), T1."invoice_type"))))) + (left(((convert(varchar(50), T1."invoice_number"))))) + ' - ' + (CASE WHEN (T3."first_name" IS NULL) THEN ((left(((convert(varchar(50), T3."customer_number"))))) + ' - ' + T3."family_name") ELSE ((left(((convert(varchar(50), T3."customer_number"))))) + ' - ' + T3."first_name" + ' ' + T3."family_name") END)) END) as c37,
  37. T9."Summe_Duration_Minutes" / 60 as c38,
  38. T9."order_number" as c39,
  39. T9."Summe_Duration_Minutes" as c40,
  40. (left(((convert(varchar(50), T8."employee_number"))))) + ' - ' + T8."name" as c41,
  41. CASE WHEN ((day((getdate()) - (convert(datetime, T1."invoice_date")))) <= 4) THEN ((CASE WHEN (T2."Serviceberater" IS NOT NULL) THEN ((left(((convert(varchar(50), T1."invoice_type"))))) + (left(((convert(varchar(50), T1."invoice_number"))))) + ' - ' + T2."Serviceberater" + ' - ' + (CASE WHEN (T3."first_name" IS NULL) THEN ((left(((convert(varchar(50), T3."customer_number"))))) + ' - ' + T3."family_name") ELSE ((left(((convert(varchar(50), T3."customer_number"))))) + ' - ' + T3."first_name" + ' ' + T3."family_name") END)) ELSE ((left(((convert(varchar(50), T1."invoice_type"))))) + (left(((convert(varchar(50), T1."invoice_number"))))) + ' - ' + (CASE WHEN (T3."first_name" IS NULL) THEN ((left(((convert(varchar(50), T3."customer_number"))))) + ' - ' + T3."family_name") ELSE ((left(((convert(varchar(50), T3."customer_number"))))) + ' - ' + T3."first_name" + ' ' + T3."family_name") END)) END)) ELSE null END as c42,
  42. ((convert(float, T7."time_units"))) / 10 as c43,
  43. (convert(float, T7."time_units")) as c44,
  44. T7."time_units" as c45,
  45. CASE WHEN (T3."first_name" IS NULL) THEN ((left(((convert(varchar(50), T3."customer_number"))))) + ' - ' + T3."family_name") ELSE ((left(((convert(varchar(50), T3."customer_number"))))) + ' - ' + T3."first_name" + ' ' + T3."family_name") END as c46,
  46. T3."zip_code" as c47,
  47. CASE WHEN (T4."description" = 'Ford') THEN ('1') WHEN (T4."description" = 'Nissan') THEN ('3') WHEN (T4."description" = 'Suzuki') THEN ('2') ELSE ('9') END as c48,
  48. CASE WHEN ((left(((convert(varchar(50), T6."type"))))) 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(((convert(varchar(50), T6."type"))))) IN ('2')) THEN ('44 - After Sales Kundendienst eigene Karosserieabteilung') WHEN (T6."type" IN (42,92)) THEN ('44 - After Sales Kundendienst eigene Karosserieabteilung') WHEN ((left(((convert(varchar(50), T6."type"))))) 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 c49,
  49. (left((left(((convert(varchar(50), T1."vehicle_number"))))) + ' - ' + T5."description",100)) as c50,
  50. (left((ucase(T5."description")),3)) as c51,
  51. T5."description" as c52,
  52. T4."description" as c53,
  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 c54,
  54. T2."Serviceberater" as c55,
  55. '0' + ((convert(varchar(50), T1."subsidiary"))) as c56,
  56. (left(((convert(varchar(50), T1."invoice_type"))))) + '_' + (left(((convert(varchar(50), T1."invoice_number"))))) as c57,
  57. T1."vehicle_number" as c58,
  58. T1."is_canceled" as c59,
  59. T1."service_date" as c60,
  60. T1."invoice_date" as c61,
  61. T1."subsidiary" as c62,
  62. T1."invoice_number" as c63,
  63. T1."invoice_type" as c64
  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