Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pozivanje UDFa u subquery-ju sa parametrom iz osnovnog query-ja

[es] :: MS SQL :: Pozivanje UDFa u subquery-ju sa parametrom iz osnovnog query-ja

[ Pregleda: 1810 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

jddipqd
Beograd

Član broj: 42510
Poruke: 6
*.adsl-1.sezampro.yu.



Profil

icon Pozivanje UDFa u subquery-ju sa parametrom iz osnovnog query-ja04.06.2008. u 12:12 - pre 193 meseci
U subquery-ju ne mogu da kao parametar UDFa koristim vrednost iz osnovnog query-ja.

Kada izvršim
Code:

CREATE FUNCTION dbo.fnGetOpenTicketsByAssignee(@daysFrom int, @daysTo int, @now datetime)
RETURNS TABLE
AS
RETURN (
    SELECT 
        ISNULL(ts.assignedToID, t.assignedtoID) 'assignedtoID',
        COUNT(*) 'nTickets'
    FROM tTickets t
    LEFT JOIN tHELPEU_TicketStatuses ts ON t.ticketID = ts.ticketID
    WHERE (t.dateclosed IS NULL 
        AND (t.currentStatusID IS NULL 
        OR t.currentStatusID NOT IN (
            SELECT statusID 
            FROM dbo.fnGetClosedStatuses(t.typeID)
        ))
    )
    AND (
        (DATEDIFF(day, t.dateopened, @now) >= @daysFrom AND @daysTo IS NULL)
        OR
        (DATEDIFF(day, t.dateopened, @now) BETWEEN @daysFrom AND @daysTo AND @daysTo IS NOT NULL)
    )
    GROUP BY ISNULL(ts.assignedToID, t.assignedtoID)
)

dobijem Incorrect syntax near '.' za liniju FROM dbo.fnGetClosedStatuses(t.typeID)

Ako, međutim, zamenim parametar UDFa konstantom FROM dbo.fnGetClosedStatuses(2), onda prođe.

U čemu je problem?
 
Odgovor na temu

deerbeer
Beograd

Član broj: 174418
Poruke: 1189
*.adsl-1.sezampro.yu.



+395 Profil

icon Re: Pozivanje UDFa u subquery-ju sa parametrom iz osnovnog query-ja04.06.2008. u 13:57 - pre 193 meseci
Cini mi se da je ovde problem u nested query-iju jel ne vidi alijas za tabelu Tickets (t)
Probaj ovako :
Code:

SELECT statusID 
         FROM dbo.fnGetClosedStatuses(tTickets.typeID)

Viva lollapalooza
 
Odgovor na temu

jddipqd
Beograd

Član broj: 42510
Poruke: 6
*.adsl-1.sezampro.yu.



Profil

icon Re: Pozivanje UDFa u subquery-ju sa parametrom iz osnovnog query-ja04.06.2008. u 16:00 - pre 193 meseci
Citat:
deerbeer: Cini mi se da je ovde problem u nested query-iju jel ne vidi alijas za tabelu Tickets (t)
Probaj ovako :
Code:

SELECT statusID 
         FROM dbo.fnGetClosedStatuses(tTickets.typeID)

Upiti moraju da budu usaglašeni; UDF treba da se poziva za svaki red iz glavnog upita, tako da mora da se koristi alias.
Ali čak i da nije tako, opet se isto ponaša.

Izgleda da UDF koji vraća tabelu uopšte ne može da primi kao parametar vrednost iz obuhvatajućeg upita. :(
 
Odgovor na temu

jddipqd
Beograd

Član broj: 42510
Poruke: 6
*.adsl-1.sezampro.yu.



Profil

icon Re: Pozivanje UDFa u subquery-ju sa parametrom iz osnovnog query-ja04.06.2008. u 16:02 - pre 193 meseci
Da definitivno je tako...

Citat:
Another limitation is that in SQL Server 2000 you cannot join a table-valued UDF with another result set and pass in values from the result set to the UDF

 
Odgovor na temu

[es] :: MS SQL :: Pozivanje UDFa u subquery-ju sa parametrom iz osnovnog query-ja

[ Pregleda: 1810 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.