這是我做測試,請大俠們幫忙看看錯在哪?謝了
CREATE TABLE [test2] (
[工號] [varchar] (50) COLLATE Chinese_Taiwan_Stroke_CI_AS NOT NULL ,
[遲到] [numeric](10, 0) NULL ,
[曠工] [numeric](10, 0) NULL
) ON [PRIMARY]
GO
CREATE TABLE [test3] (
[工號] [varchar] (50) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL ,
[姓名] [varchar] (50) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL ,
[全勤獎] [numeric](10, 0) NULL
) ON [PRIMARY]
GO
insert into test2 select '1',5,3
insert into test3 select '1','測試',180
存諸過程:
CREATE PROCEDURE test1
@a numeric(10,0)
as
select 工號,姓名, select@a=
case when (select 遲到 from test2) >5 THEN 全勤獎-30 else 全勤獎 end
,@a /30 as r from test3
GO
CREATE TABLE [test2] (
[工號] [varchar] (50) COLLATE Chinese_Taiwan_Stroke_CI_AS NOT NULL ,
[遲到] [numeric](10, 0) NULL ,
[曠工] [numeric](10, 0) NULL
) ON [PRIMARY]
GO
CREATE TABLE [test3] (
[工號] [varchar] (50) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL ,
[姓名] [varchar] (50) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL ,
[全勤獎] [numeric](10, 0) NULL
) ON [PRIMARY]
GO
insert into test2 select '1',5,3
insert into test3 select '1','測試',180
存諸過程:
CREATE PROCEDURE test1
@a numeric(10,0)
as
select 工號,姓名, select@a=
case when (select 遲到 from test2) >5 THEN 全勤獎-30 else 全勤獎 end
,@a /30 as r from test3
GO
create proc test
as
select 工號,姓名,全勤獎 = case when (select 遲到 from test2) >5 THEN 全勤獎-30 else 全勤獎 end ,全勤獎/30 as r from test3
go