Zum ersten Mal treffen sie hier eine Frage veröffentlichen, sondern ein Ich bin ein häufiger Benutzer dieser Webseite, vielen Dank im Voraus zu dieser Gemeinschaft, die großen Antworten haben Fragen zu verschleiern.Convert nur, wenn Kriterien in der Mitte ein Join
Unten ist ein Mitglied werden, dass das Datum auf zwei Ansichten konvertiert, die dazu führt, ~ 20 Millionen Termine im „PDR“ Ansicht neu formatiert zu werden. Ich kann nur das Jahr und den Monat im Join verwenden, weshalb es konvertiert wird (ich habe keine Option für diesen Teil).
Ich brauche nur die Daten in diesen Spalten enthalten IF Department_Code = ‚X‘ so 90% der resultierenden ~ 500 Zeilen dieses letzten Rollup wird nichts in diesen Spalten.
ich diese effizienter zu machen brauchen, würde Ich mag das Datum sagen konvertieren nur, wenn die Department_Code = ‚X‘
Kann ich diese Kriterien zu einem Join hinzufügen?
Left Join [dbo].[SLHSV_TM_Pharm_IP_OP_Factor_Rollup] as TMIPOP
on Left (Convert (varchar, TMIPOP.[Pharm_IPOP_MONTH], 112),6)
= Left (Convert (varchar, PDR.Payroll_Period_End_Date, 112),6)
die RDBMS? Anstatt in ein varchar zu konvertieren, können Sie die Datumsumrechnungen als mathematisch halten, indem Sie sowohl YEAR (Datum) = YEAR (Datum) als auch MONTH() = MONTH() verknüpfen. Das könnte etwas Leistung bringen. Ansonsten können Sie eine case-Anweisung schreiben, wie Sie wollen, und sagen, wenn die case-Anweisung = 1 ist, dann schließen Sie sich an. Z.B. (CASE WHEN department_cod = 'X' und MONAT (a) = MONAT (b) und YEAR (a) = YEAR (b) THEN 1 ELSE 0 END) = 1 – Matt