i have 2 tables: 1 called city (city_id,name, latitude, longitude) , other measures (city_id, measure_date, temperature, humidity, windspeed, airpressure).
city_id primary key in city , foreign key in measures. city_id , measure_date primary key too.
i trying write stored procedure in sql server 2005 allows me calculate averages of 4 measurements have in database specific city. , if city has no records in measures, want default value null.
how should make set default value null cities? thank :)
here code did:
set ansi_nulls on set quoted_identifier on go alter procedure [dbo].[low_temp] @temp real begin select avg(m.temperature), avg(m.humidity), avg(m.windspeed), avg(m.airpressure) city c, measures m m.city_id = @temp end
just use left join:
set ansi_nulls on set quoted_identifier on go alter procedure [dbo].[low_temp] @temp real begin select avg(m.temperature), avg(m.humidity), avg(m.windspeed), avg(m.airpressure) city c left join measures m on(c.city_id = m.city_id) c.city_id = @temp end
Comments
Post a Comment