Quantcast
Channel: Für Entwickler: SQL Server Forum
Viewing all articles
Browse latest Browse all 1772

Anzeigen aller Datümer

$
0
0

Guten Tag

Mit folgendem Statement erhalte ich eine Liste mit Datum, TotalOperationen und AnzahlParallelOPs, aber nur die welche in AnzahlParallelOPs nicht NULL sind. Ich möchte nun alle anzeigen lassen, welche in TotalOperationen etwas enthalten. Dort wo AnzahlParallelOPs nichts enthält entweder NULL oder eine '0'. Ist das möglich mit einem LEFT JOIN? Aber wo und wie? Für Hilfe bin ich dankbar

Freundliche Grüsse

Walo Beck

with cte as (

select OPDATUM, TS_INVORBEREIT,TS_PATABGABE, row_number() over (order by TS_INVORBEREIT) as Row

from ISMEDEOPPS_OP I

WHERE OPDatum >= '20120101' AND OPDatum <='20120104'  AND GELOESCHT = 'N' AND (GESTRICHEN = '' OR GESTRICHEN IS NULL) AND ((substring(TS_INVORBEREIT,9,4) >= 2000 and substring(TS_INVORBEREIT,9,4) <= 2359) OR (substring(TS_INVORBEREIT,9,4) >= 0000 and substring(TS_INVORBEREIT,9,4) <= 0659)) AND I.PROTOERFASSOK ='3' AND ASAN <>''

)

select cast(C1.OPDATUM as Date) as OPDATUM

, (select COUNT(I1.OPDATUM) from ISMEDEOPPS_OP I1

            WHERE I1.OPDatum >='20120101' AND I1.OPDatum <='20120104'  AND I1.GELOESCHT = 'N' AND (I1.GESTRICHEN = '' OR I1.GESTRICHEN IS NULL) AND ((substring(I1.TS_INVORBEREIT,9,4) >= 2000 and                 substring(I1.TS_INVORBEREIT,9,4) <= 2359) OR (substring(I1.TS_INVORBEREIT,9,4) >= 0000 and substring(I1.TS_INVORBEREIT,9,4) <= 0659)) AND I1.PROTOERFASSOK ='3' AND I1.ASAN <>''

            AND C1.OPDATUM=I1.OPDATUM

) as TotalOperationen

, COUNT(C1.Row) AS AnzParalleleOPs

from cte c1

inner join cte c2

ON c1.OPDATUM = c2.OPDATUM and c1.Row = c2.Row - 1 and c2.TS_INVORBEREIT < c1.TS_PATABGABE

GROUP BY C1.OPDATUM

ORDER BY OPDATUM


Viewing all articles
Browse latest Browse all 1772


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>