Forum » Programiranje » [MS SQL] manjši problemček
[MS SQL] manjši problemček
mov ax 0x7c0 ::
Zdravo!
Naletel sem na problem v SQL stavku, kjer se mi je popolnoma zateknilo. situacija je naslednja:
Naredil sem tabelo kjer hranim tečaje za različne valute. Sicer sem tabelo zastavil tako da omogoča več tečajnih list, vsaka tečajna lista vsebuje X tečajev in vsaki tečaj je lahko vnešen X krat z različnim datumom....
Problem se mi je pojavil pei nasednjem vrašanju: Za vsako tečajno listo vrni zadnji tečaj za vsako valuto v tečajni listi....
Polja sem poimenoval:
tečajna lista.... CourseID
valuta.............CurrencyID
datum valute.....CourseDate
poizkušal sem s kombinacijo JOIN in GROUP BY in mi ni uspelo..
Prosim, če kateri vidi rešitev, če mi pomaga spisati tak SQL, ki bo vrnil prave podatke.
Naletel sem na problem v SQL stavku, kjer se mi je popolnoma zateknilo. situacija je naslednja:
Naredil sem tabelo kjer hranim tečaje za različne valute. Sicer sem tabelo zastavil tako da omogoča več tečajnih list, vsaka tečajna lista vsebuje X tečajev in vsaki tečaj je lahko vnešen X krat z različnim datumom....
Problem se mi je pojavil pei nasednjem vrašanju: Za vsako tečajno listo vrni zadnji tečaj za vsako valuto v tečajni listi....
Polja sem poimenoval:
tečajna lista.... CourseID
valuta.............CurrencyID
datum valute.....CourseDate
poizkušal sem s kombinacijo JOIN in GROUP BY in mi ni uspelo..
Prosim, če kateri vidi rešitev, če mi pomaga spisati tak SQL, ki bo vrnil prave podatke.
Vsak dan nekaj novega :)
dmok ::
Kot ti je napisal tomazzz:
SELECT
C.CourseID,
C.CurrencyID,
C.CourseDate,
X.Course
FROM
(SELECT CourseID, CurrencyID, MAX(CourseDate) AS CourseDate FROM COURSE GROUP BY CourseID, CurrencyID) C
JOIN COURSE X ON
X.CourseID = C.CourseID
AND X.CurrencyID = C.CurrencyID
AND X.CourseDate = C.CourseDate
Za subquery (SELECT CourseID, CurrencyID, MAX(CourseDate) AS CourseDate FROM COURSE GROUP BY CourseID, CurrencyID) narediš VIEW pa je še bolj enostavno, execution plan pa zgleda enak z view-em ali brez.
Pa UNIQUE CONSTRAINT na CourseID, CurrencyID, CourseDate.
d.
SELECT
C.CourseID,
C.CurrencyID,
C.CourseDate,
X.Course
FROM
(SELECT CourseID, CurrencyID, MAX(CourseDate) AS CourseDate FROM COURSE GROUP BY CourseID, CurrencyID) C
JOIN COURSE X ON
X.CourseID = C.CourseID
AND X.CurrencyID = C.CurrencyID
AND X.CourseDate = C.CourseDate
Za subquery (SELECT CourseID, CurrencyID, MAX(CourseDate) AS CourseDate FROM COURSE GROUP BY CourseID, CurrencyID) narediš VIEW pa je še bolj enostavno, execution plan pa zgleda enak z view-em ali brez.
Pa UNIQUE CONSTRAINT na CourseID, CurrencyID, CourseDate.
d.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Kje se kaj učite online?Oddelek: Programiranje | 6360 (4273) | scipascapa |
» | SQL vprasanje (strani: 1 2 )Oddelek: Programiranje | 8369 (5048) | BivšiUser2 |
» | Fundacija Linux ponuja brezplačni tečaj osnov Linuxa (strani: 1 2 )Oddelek: Novice / Operacijski sistemi | 26233 (21057) | GizmoX |
⊘ | PayPal in primarna valuta (strani: 1 2 )Oddelek: Loža | 16017 (14851) | Tilen |
» | [Java] Objekt poslan k metodi v kakšnem stanju?Oddelek: Programiranje | 1551 (998) | shadeX |