存储过程具有默认值

时间:2015-07-10 06:36:24

标签: stored-procedures sql-server-2005

我有两个表:一个叫做::selection(City_id,Name,Latitude,Longitude),另一个是<a class="delete_data" id="<?php echo $row['id']; ?>">Delete</a> ajax $(document).ready(function(){ $(".delete_data").click(function(){ var del_id = $(this).attr('id'); $.ajax({ type:'POST', url:'delete.php', data:'delete_id='+del_id, success:function(data) { if(data) { // Sucess } else { // Error } } }); }); }); delete.php $id = $_POST['delete_id']; $query = "delete from TABLE NAME where ID = $id"; (City_id,Measure_Date,Temperature,Humidity,WindSpeed,AirPressure)。

CityMeasures中的主键和City_id中的外键。 CityMeasures也是主键。

我正在尝试在SQL Server 2005中编写一个存储过程,它允许我计算特定城市数据库中所有四个测量值的平均值。如果城市在City_id中没有记录,我希望默认值为null。

我应该如何设置这些城市的默认值null?谢谢:))

以下是我所做的代码:

Measure_date

1 个答案:

答案 0 :(得分:0)

只需使用左连接:

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[low_temp]
     @temp real
AS
begin
    select avg(m.temperature), 
           avg(m.humidity), 
           avg(m.windspeed), 
           avg(m.airpressure)
    from city c
    left join measures m ON(c.city_id = m.city_id)
    where 
        c.city_id = @temp
end