Smowanie kolumny w sql

0

Widok w procedurze
Mam baze danych dotyczacą kierowcow i wyjazdow i mam zrobic procedure, ktora wyswieli mi ile godzin przejezdil podany kierowca w podanym przedziale czasowym.Umiem zrobic tak ze w koncu wyswietla mi kolmne z czasem wyjazdow ale nie moge jej zsumowac za pomoca fukcji sum . Co zrobic?
create procedure Godziny @nazwisko varchar(20),@imie varchar(15), @data_poczatkowa datetime, @data_koncowa datetime,@godziny int output
as
begin

select w.wyja_data_godzina_wyjazdu,w.wyja_data_godzina_powrotu,k.kier_nazwisko,k.kier_imie
from wyjazdy as w inner join kierowcy as k on w.wyja_kierowca=k.kier_id
where (k.kier_nazwisko=@nazwisko and k.kier_imie=@imie and w.wyja_data_godzina_wyjazdu>=@data_poczatkowa and w.wyja_data_godzina_powrotu<=@data_koncowa)
select datename(mi,w.wyja_data_godzina_powrotu-w.wyja_data_godzina_wyjazdu)as [Minuty]
from wyjazdy as w inner join kierowcy as k on w.wyja_kierowca=k.kier_id
where (k.kier_nazwisko=@nazwisko and k.kier_imie=@imie and w.wyja_data_godzina_wyjazdu>=@data_poczatkowa and w.wyja_data_godzina_powrotu<=@data_koncowa)
end
/*
declare @godz int
exec Godziny 'Klimek','Krzysztof','2010-02-16 8:00','2010-02-16 12:23',@godz output
select @godz
*/
--drop procedure Godziny

0

jeśli używasz funkcji typu min/max/count, a wyniki chcesz mieć pogrupowane przez dane z innych kolumn/tabel, to musisz użyć group by. Np.

select k.name, k.surname, sum(k.godziny)
from kierowcy k
group by k.name, k.surname

btw. która baza danych?

0

Mam tabele linie , przystanki i tabele pośrednicząca trasy
Moim zadaniem jest zrobic procedure, ktora wyswietli numer porzadkowy, nazwe linii i liczbe przystankow. Nie mam pojecia jak to zrobic. Probowalem widok w procedurze ale nie weim jak wyliczyc pozniej nasz liczbe przystankow bo nie moge zadeklarowac zmiennej w widoku

0

po co do tego zmienne czy widoki? może jeszcze tabele tymczasowe i kursor? :>
wklepane z palca, ale chyba widać, jaki jest zamysł:

select l.id, l.nazwa, count(p.*)
from linie l, przystanki p, trasy t
where l.trasa = t.id and t.przystanki = p.id
group by l.id, l.nazwa

nadal nie raczyłeś napisać, jaka baza danych (tzn jaki serwer) - implementacja tsql/plsql różni się mniej lub bardziej pomiędzy bazami.

1 użytkowników online, w tym zalogowanych: 0, gości: 1