Einzelnen Beitrag anzeigen

jensw_2000
(Gast)

n/a Beiträge
 
#8

Re: SQL - SUM() und FieldType Bit

  Alt 10. Dez 2004, 10:52
OK, das ist es:


SQL-Code:
CREATE FUNCTION Alle_TA_Abgerechnet (@Auftragsnummer nvarchar(19))
RETURNS bit

AS
BEGIN
  declare @gesamtTA smallint
  declare @abgerechnetTA smallint
  declare @KomplettErledigt bit

  select @GesamtTA = count(Teilauftrag.istAbgerechnet)
                              From Teilauftrag
                              Where Teilauftrag.Auftragsnummer = @Auftragsnummer
                      
  select @AbgerechnetTA = count(Teilauftrag.istAbgerechnet)
                              From Teilauftrag
                              Where Teilauftrag.Auftragsnummer = @Auftragsnummer AND
                                    (Teilauftrag.istAbgerechnet=1 OR Teilauftrag.istStorniert=1)
                            
 SELECT @KomplettErledigt = CASE
                                WHEN @GesamtTA-@AbgerechnetTA = 0 THEN 1
                       ELSE 0
                        END

return @KomplettErledigt

END
Erbebnis: funktioniert :

SQL-Code:
  SELECT Auftragsnummer,
          ...,
          Alle_TA_Abgerechnet(Auftragsnummer) as KomplettAbgerechnet
  FROM Auftrag INNER JOIN Teilauftrag ON Auftrag.Auftragsnummer = Teilauftrag.Auftragsnummer
  WHERE ...
  Mit Zitat antworten Zitat