Sqlserver: Stored procedures: Returner flere verdier fra subquery
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