Transact SQL Script: pruefe_plz_import.SQL
questions? mailto:info@itrain.de
Download SQL Script
Dieses Script dient nur Demonstrationszwecken. Verwendung des Scripts erfolgt auf eigene Gefahr.
CREATE VIEW PRUEFE_IMPORT AS SELECT PRUEF_DA.Dateikennung, PRUEF_DA.STATUS, CASE WHEN PRUEF_DA.Satzzahl = TEST.SATZZAHL THEN 'OK' ELSE 'FEHLER' END AS GleicheAnzahl, CASE WHEN PRUEF_DA.Datum_Summe = Test.Datum_Summe THEN 'OK' ELSE 'FEHLER' END AS GleicheSumme, PRUEF_DA.Satzzahl AS PRUEF_SATZZAHL, TEST.Satzzahl, PRUEF_DA.DATUM_SUMME AS PRUEF_DATUM_SUMME, TEST.DATUM_SUMME FROM PRUEF_DA INNER JOIN ( SELECT 'OR' AS Dateikennung, status, COUNT(*) AS Satzzahl, RIGHT(CAST(SUM(CAST(datum AS NUMERIC(16,0)))+ 10000000000000000 AS CHAR(17)) , 16) AS DATUM_SUMME FROM ort_da GROUP BY status ) TEST ON TEST.Dateikennung = PRUEF_DA.Dateikennung AND TEST.STATUS = PRUEF_DA.STATUS UNION SELECT PRUEF_DA.Dateikennung, PRUEF_DA.STATUS, CASE WHEN PRUEF_DA.Satzzahl = TEST.SATZZAHL THEN 'OK' ELSE 'FEHLER' END AS GleicheAnzahl, CASE WHEN PRUEF_DA.Datum_Summe = Test.Datum_Summe THEN 'OK' ELSE 'FEHLER' END AS GleicheSumme, PRUEF_DA.Satzzahl, TEST.Satzzahl, PRUEF_DA.DATUM_SUMME, TEST.DATUM_SUMME FROM PRUEF_DA INNER JOIN ( SELECT 'PL' AS Dateikennung, 'G' AS [Status], COUNT(*) AS Satzzahl, RIGHT(CAST(SUM(CAST(datum AS NUMERIC(16,0)))+ 10000000000000000 AS CHAR(17)) , 16) AS DATUM_SUMME FROM PLZ_DA ) TEST ON TEST.Dateikennung = PRUEF_DA.Dateikennung AND TEST.STATUS = PRUEF_DA.STATUS UNION SELECT PRUEF_DA.Dateikennung, PRUEF_DA.STATUS, CASE WHEN PRUEF_DA.Satzzahl = TEST.SATZZAHL THEN 'OK' ELSE 'FEHLER' END AS GleicheAnzahl, CASE WHEN PRUEF_DA.Datum_Summe = Test.Datum_Summe THEN 'OK' ELSE 'FEHLER' END AS GleicheSumme, PRUEF_DA.Satzzahl, TEST.Satzzahl, PRUEF_DA.DATUM_SUMME, TEST.DATUM_SUMME FROM PRUEF_DA INNER JOIN ( SELECT 'OE' AS Dateikennung, 'G' AS status, COUNT(*) AS Satzzahl, RIGHT(CAST(SUM(CAST(datum AS NUMERIC(16,0)))+ 10000000000000000 AS CHAR(17)) , 16) AS DATUM_SUMME FROM ORG_DA ) TEST ON TEST.Dateikennung = PRUEF_DA.Dateikennung AND TEST.STATUS = PRUEF_DA.STATUS UNION SELECT PRUEF_DA.Dateikennung, PRUEF_DA.STATUS, CASE WHEN PRUEF_DA.Satzzahl = TEST.SATZZAHL THEN 'OK' ELSE 'FEHLER' END AS GleicheAnzahl, CASE WHEN PRUEF_DA.Datum_Summe = Test.Datum_Summe THEN 'OK' ELSE 'FEHLER' END AS GleicheSumme, PRUEF_DA.Satzzahl, TEST.Satzzahl, PRUEF_DA.DATUM_SUMME, TEST.DATUM_SUMME FROM PRUEF_DA INNER JOIN ( SELECT 'ST' AS Dateikennung, status, COUNT(*) AS Satzzahl, RIGHT(CAST(SUM(CAST(datum AS NUMERIC(16,0)))+ 10000000000000000 AS CHAR(17)) , 16) AS DATUM_SUMME FROM str_da GROUP BY status ) TEST ON TEST.Dateikennung = PRUEF_DA.Dateikennung AND TEST.STATUS = PRUEF_DA.STATUS UNION SELECT PRUEF_DA.Dateikennung, PRUEF_DA.STATUS, CASE WHEN PRUEF_DA.Satzzahl = TEST.SATZZAHL THEN 'OK' ELSE 'FEHLER' END AS GleicheAnzahl, CASE WHEN PRUEF_DA.Datum_Summe = Test.Datum_Summe THEN 'OK' ELSE 'FEHLER' END AS GleicheSumme, PRUEF_DA.Satzzahl, TEST.Satzzahl, PRUEF_DA.DATUM_SUMME, TEST.DATUM_SUMME FROM PRUEF_DA INNER JOIN ( SELECT 'OT' AS Dateikennung, status, COUNT(*) AS Satzzahl, RIGHT(CAST(SUM(CAST(datum AS NUMERIC(16,0)))+ 10000000000000000 AS CHAR(17)) , 16) AS DATUM_SUMME FROM OTL_DA GROUP BY status ) TEST ON TEST.Dateikennung = PRUEF_DA.Dateikennung AND TEST.STATUS = PRUEF_DA.STATUS UNION SELECT PRUEF_DA.Dateikennung, PRUEF_DA.STATUS, CASE WHEN PRUEF_DA.Satzzahl = TEST.SATZZAHL THEN 'OK' ELSE 'FEHLER' END AS GleicheAnzahl, CASE WHEN PRUEF_DA.Datum_Summe = Test.Datum_Summe THEN 'OK' ELSE 'FEHLER' END AS GleicheSumme, PRUEF_DA.Satzzahl, TEST.Satzzahl, PRUEF_DA.DATUM_SUMME, TEST.DATUM_SUMME FROM PRUEF_DA INNER JOIN ( SELECT 'PF' AS Dateikennung, status, COUNT(*) AS Satzzahl, RIGHT(CAST(SUM(CAST(datum AS NUMERIC(16,0)))+ 10000000000000000 AS CHAR(17)) , 16) AS DATUM_SUMME FROM POFA_da GROUP BY status ) TEST ON TEST.Dateikennung = PRUEF_DA.Dateikennung AND TEST.STATUS = PRUEF_DA.STATUS UNION SELECT PRUEF_DA.Dateikennung, PRUEF_DA.STATUS, CASE WHEN PRUEF_DA.Satzzahl = TEST.SATZZAHL THEN 'OK' ELSE 'FEHLER' END AS GleicheAnzahl, CASE WHEN PRUEF_DA.Datum_Summe = Test.Datum_Summe THEN 'OK' ELSE 'FEHLER' END AS GleicheSumme, PRUEF_DA.Satzzahl, TEST.Satzzahl, PRUEF_DA.DATUM_SUMME, TEST.DATUM_SUMME FROM PRUEF_DA INNER JOIN ( SELECT 'KG' AS Dateikennung, satzart as status, COUNT(*) AS Satzzahl, RIGHT(CAST(SUM(CAST(datum AS NUMERIC(16,0)))+ 10000000000000000 AS CHAR(17)) , 16) AS DATUM_SUMME FROM KGS_DA GROUP BY satzart ) TEST ON TEST.Dateikennung = PRUEF_DA.Dateikennung AND TEST.STATUS = PRUEF_DA.STATUS UNION SELECT PRUEF_DA.Dateikennung, PRUEF_DA.STATUS, CASE WHEN PRUEF_DA.Satzzahl = TEST.SATZZAHL THEN 'OK' ELSE 'FEHLER' END AS GleicheAnzahl, CASE WHEN PRUEF_DA.Datum_Summe = Test.Datum_Summe THEN 'OK' ELSE 'FEHLER' END AS GleicheSumme, PRUEF_DA.Satzzahl, TEST.Satzzahl, PRUEF_DA.DATUM_SUMME, TEST.DATUM_SUMME FROM PRUEF_DA INNER JOIN ( SELECT 'GE' AS Dateikennung, 'G' AS status, COUNT(*) AS Satzzahl, RIGHT(CAST(SUM(CAST(datum AS NUMERIC(16,0)))+ 10000000000000000 AS CHAR(17)) , 16) AS DATUM_SUMME FROM GROSS_da ) TEST ON TEST.Dateikennung = PRUEF_DA.Dateikennung AND TEST.STATUS = PRUEF_DA.STATUS GO
Beispiel für Ergebnis
|