Just nu i M3-nätverket
Gå till innehåll

Stored procedure - HJÄLP ÖNSKAS


HannesHelander

Rekommendera Poster

HannesHelander

hej,

 

Jag har följande två tabeller i MSSQL 2K:

 

CableDrums

-DrumID

-CableType

-OriginalLength

-ArrivalDate

 

SubDeliveries

-DeliveryID

-DrumID

-DeliveredLength

 

Tabellerna hänger ihop via DrumID (PrimaryKey in CableDrums).

 

Jag vill ha en SPROC som ger mig följande:

DrumID, CableType, OriginalLength, RemainingLength (=OriginalLength - (summan av alla DeliveredLength för ett specifikt DrumID) såväl som datum för och antal återstående dagar till sista DubDelivery (baserat på ett maximum av ArrivalDate + 210 days). Jag har försökt följande men får det inte att fungera

 

SELECT CableDrums.DrumNo, CableDrums.CableType, CableDrums.OriginalLength, (CableDrums.Length - SUM(SubDeliveries.DeliveredLength)) AS RemainingLength, CableDrums.ArrivalDate, (DateAdd (day, 210, CableDrums.ArrivalDate)) As LastDate, (Datediff (day, GetDate(), DateAdd (day, 210, CableDrums.ArrivalDate))) as RemainingDays

 

FROM CableDrums LEFT OUTER JOIN SubDeliveries ON CableDrums.DrumNo = SubDeliveries.DrumNo

 

GROUP BY CableDrums.DrumNo, CableDrums.OriginalLength

 

Det verkar som om SUM finktinen inte riktigt trivs ihop med datumfunktionerna men jag vet inte hur jag skall lösa det.

 

Alla svar och tips uppskattas!!

 

Länk till kommentar
Dela på andra webbplatser

Magnus Ahlkvist

SELECT
cd.drumno,
cd.cabletype,
cd.originallength,
cd.originallength-coalesce((select sum(deliveredlength) from subdeliveries sd where sd.drumid=cd.drumid),0) as Remaininglength,
cd.arrivaldate,
dateadd(day,210,cd.arrivaldate) as RemainingDays
FROM CableDrums cd

 

--

Snäll ibland. rättvis nästan jämt. Elak för det mesta.

 

[inlägget ändrat 2003-07-10 14:10:37 av Magnus Ahlkvist]

Länk till kommentar
Dela på andra webbplatser

HannesHelander

Tack för ditt svar!

 

Jag har försökt fixa till det i enlighet med ditt förslag men lyckas inte. Kanske har jag inte förstått dig till fullo! Jag är lite osäker över din användning av sd resp cd, Skall jag använda tabellnamnen istället för dem ellre tillsammans med dem och i så fall hur?

 

Tack på förhand!

Hannes

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...