konto usunięte
Temat: pomoc w zadaniu t-sql
Witam serdecznie jestem osobą początkującą w t-sql. Mam pytanie jak napisać procedurę w której parametrem jest nazwa kolumny zaś zwracana jest tabela która ma dwie kolumny (nazwa średniej, wartość średniej) w którychwyświetlane są właściwe dane. Należy poprawić poniższą procedurę tak aby była
procedurą z parametrem (wpisujemy nazwę kolumny) oraz w wynikowej tabeli znalazły się dodatkowo średnia geometryczna oraz dominanta.
CREATE PROC [dbo].[SREDNIE]
AS
BEGIN
DROP TABLE T_SREDNIE
SELECT 'ARYTMETYCZNA ' NAZWA, AVG(POWIERZCHNIA) SREDNIA INTO T_SREDNIE
FROM SPIS
INSERT INTO T_SREDNIE SELECT 'HARMONICZNA',
COUNT(POWIERZCHNIA)/SUM(1/POWIERZCHNIA) FROM SPIS
CREATE TABLE #POMOCNICZA (NUMER INT IDENTITY, POWIERZCHNIA DECIMAL(16,2))
INSERT INTO #POMOCNICZA (POWIERZCHNIA) SELECT POWIERZCHNIA FROM SPIS
ORDER BY POWIERZCHNIA
INSERT INTO T_SREDNIE SELECT 'MEDIANA',CASE WHEN(SELECT COUNT(*) FROM
#POMOCNICZA)%2 =1 THEN (SELECT POWIERZCHNIA FROM #POMOCNICZA
WHERE NUMER=(SELECT ((SELECT COUNT(*) FROM #POMOCNICZA)+1)/2 ))
ELSE
(SELECT AVG(POWIERZCHNIA) FROM #POMOCNICZA
WHERE NUMER=((SELECT COUNT(*) FROM #POMOCNICZA)/2) OR NUMER= (SELECT
COUNT(*) FROM #POMOCNICZA)/2+1)
END
END
Bardzo dziekuję za pomoc.