Vajad kellegagi rääkida?
Küsi julgelt abi LasteAbi
Logi sisse
Sulge

"aastacte" - 1 õppematerjal

Nimetu
575
docx

Nimetu

väljanimed (veerud) tuleb endiselt sisse trükkida ning neid pole võimalik tekitada dünaamiliselt. Lahenduseks on sellele dünaamiline SQLi koostamine ning käivitamine EXEC abil. Selleks tuleb luua skript, mis tekitab komadega eraldatud loetelu kõigist risttabelisse minevatest väljadest ning kleepida see SQLis õige koha peale. Kuna kasutame SQL 2005 siis teeksin selle tegevuse kasutades CTE abi: DECLARE @aastad AS VARCHAR(MAX); WITH AastaCTE AS ( SELECT DISTINCT SynniAasta AS Aasta FROM dbo.Laps_tbl ) SELECT @aastad = ISNULL(@aastad + ',[', '[') + CAST(Aasta AS CHAR(4)) + ']' FROM AastaCTE ORDER BY Aasta DECLARE @sql NVARCHAR(max) SET @sql = N'SELECT * FROM ( SELECT Pikkus, SynniAasta, SynniLinn FROM dbo.Laps_tbl ) AS Lapsed PIVOT ( AVG(Pikkus) FOR SynniAasta IN(' + @aastad + N')) AS Piv' EXEC (@sql) Ülesandeid 46

Informaatika → Informaatika
33 allalaadimist


Sellel veebilehel kasutatakse küpsiseid. Kasutamist jätkates nõustute küpsiste ja veebilehe üldtingimustega Nõustun