Sqlserver: Stored procedures: Returner flere verdier fra subquery

No comments

Dette er en utvidelse av en del av forrige post.

Her kjører vi selfjoin på en subquery for å kunne returnere flere verdier fra samme subquery:

CREATE PROCEDURE [dbo].[sp_ProduktlistingNy]

@dato datetime = NULL,

@leverandorid int = NULL

AS

BEGIN

IF @dato IS NULL SET @dato= getdate();

SELECT TOP (100) PERCENT P.ProduktID , P.LeverandorID, P.Navn, P.Betalingsinformasjon,

P.KravOmEpostFaktura, P.KravOmEfaktura, P.KravOmAvtalegiro, P.Landsdekkende,

P.Inaktiv, T.Termin, TYP.ProduktType,

TYP.Kortnavn, PV1.KraftPris, PV1.TidspunktInnmelding

FROM dbo.Produkter P

INNER JOIN

dbo.ProduktTyper TYP ON P.ProduktTypeID = TYP.ProduktTypeID

INNER JOIN

dbo.Terminer T ON P.TerminID = T.TerminID

LEFT OUTER JOIN

dbo.Prisvarsler PV1 ON (select TOP(1) ProduktID from dbo.PrisVarsler PV Where PV.ProduktID=P.ProduktID AND PV.GjelderFraDato<=@dato ORDER BY PV.GjelderFraDato) = PV1.ProduktID

WHERE (P.LeverandorID = @LeverandorId OR @LeverandorID is null)

ORDER BY P.LeverandorID, TYP.Kortnavn

END

Posted by email from Henris blogg (posterous)

No comments :

Post a Comment