Hej! Yikes, varför blandar du left och right join så där? Problem med procedur
Jag får inte den här delen av proceduren att funger
Hur gör jag för att lägga till värdena i @TmpButik, @TmpDateFrom och @TmpDateTo i Where-satsen?
DECLARE @TmpButik nvarchar(20)
DECLARE @TmpDateFrom nvarchar(50)
DECLARE @TmpDateTo nvarchar(50)
SET @TmpButik = ''
SET @TmpDateFrom = ''
SET @TmpDateTo = ''
IF @Butik IS NOT NULL
BEGIN
SET @TmpButik=' AND AR.Butiksnr=' + CAST(@Butik AS nvarchar(3))
END
IF @DateFrom IS NOT NULL
BEGIN
SET @TmpDateFrom= + ' AND CR.Releasedatum >= ' + @DateFrom
END
IF @DateTo IS NOT NULL
BEGIN
SET @TmpDateTo= + ' AND CR.Releasedatum <=' + @DateTo
END
INSERT INTO LEV_REDOVISNING
(Cartnr, Artnr, Regnr, Uthyrd, Åter, Dygn, Titel, Levartnr, Artikeltyp, Persnr,Namn)
SELECT AR.Cartnr, AR.Artnr,
(SELECT TOP 1 Regnr
FROM FÖRSÄLJNiNG
WHERE Artnr = AR.Artnr AND TYP <> 'KRE' AND Typ <> 'FSE' AND Kundnr = AR.Kundnr AND DATEDIFF(dd, Datum, AR.Utdatum) = 0
ORDER BY Regnr DESC) AS REGNR, AR.Utdatum, AR.Indatum, DATEDIFF(dd, AR.Utdatum, AR.Indatum) AS DAGAR, CR.Titel, CR.Levartnr,
ARTIKELTYP.Benämning, AR.Kundnr, KUNDREGISTER.NAMN
FROM KUNDREGISTER RIGHT OUTER JOIN
ARTIKELREGISTER AR ON KUNDREGISTER.Persnr = AR.Kundnr LEFT OUTER JOIN
ARTIKELTYP RIGHT OUTER JOIN
CENTRALARTREGISTER CR ON ARTIKELTYP.Artikeltyp = CR.Artikeltyp ON AR.Cartnr = CR.CArtnr
WHERE (CR.Lev = @Levnr ) AND (AR.Utrang = 0)Sv: Problem med procedur
<code>
INSERT INTO LEV_REDOVISNING
(Cartnr, Artnr, Regnr, Uthyrd, Åter, Dygn,
Titel, Levartnr, Artikeltyp, Persnr,Namn)
SELECT AR.Cartnr,
AR.Artnr,
(SELECT max(Regnr)
FROM FÖRSÄLJNING
WHERE Artnr = AR.Artnr
AND Kundnr = AR.Kundnr
AND TYP not in ('KRE','FSE')
AND DATEDIFF(dd, Datum, AR.Utdatum) = 0),
AR.Utdatum,
AR.Indatum,
DATEDIFF(dd, AR.Utdatum, AR.Indatum) ,
CR.Titel,
CR.Levartnr,
ATY.Benämning,
AR.Kundnr,
KR.NAMN
FROM ARTIKELREGISTER AR
JOIN CENTRALARTREGISTER CR on AR.Cartnr = CR.CArtnr
left join ARTIKELTYP ATY on CR.ARTIKELTYP = ATY.ARTIKELTYP
left join KUNDREGISTER KR on KR.PERSNR = AR.KUNDNR
WHERE CR.Lev = @Levnr
AND AR.Utrang = 0
AND (AR.Butiksnr = @Butik or @butik is null)
AND (CR.Releasedatum >= @DateFrom or @DateFrom is null)
AND (CR.Releasedatum <= @DateTo or @DateTo is null)
</code>