各位大哥大姐们好!我如何实现这样的查询?
比如我把数据分为三个组,分别为A,B,C 三个组,已知A组的数据编号为FBJ805C445900 到 FBJ805C445998 已知B组的数据编号为FBJ815C445900 到 FBJ815C445998 已知C组的数据编号为FBJ805C44501 到 FBJ805C44591 等等。其实后面的编号是没定的,但每组都有个开始和结束的编号,每组的开始和结束的编号也是没定的。上面只是举个例子。现在就是如何去查询已知一个编号去查是在那一个组的?就是说我现在有一个编号怎么样去查它是属于那一个组的?谢谢!
比如我把数据分为三个组,分别为A,B,C 三个组,已知A组的数据编号为FBJ805C445900 到 FBJ805C445998 已知B组的数据编号为FBJ815C445900 到 FBJ815C445998 已知C组的数据编号为FBJ805C44501 到 FBJ805C44591 等等。其实后面的编号是没定的,但每组都有个开始和结束的编号,每组的开始和结束的编号也是没定的。上面只是举个例子。现在就是如何去查询已知一个编号去查是在那一个组的?就是说我现在有一个编号怎么样去查它是属于那一个组的?谢谢!
create table t (c1 varchar(01),c2 varchar(20))
insert into t
select 'A','FBJ805C445900'
union
select 'A','FBJ805C445901'
union
select 'A','FBJ805C445902'
.........
union
select 'A','FBJ805C445998'
union
select 'B','...'declare @input varchar(20)
select t.c1 from t where c2=@input
或为别的,这个并不重要,就算给个固定的也好,问题是如何去决定一个编号是那个组的?
Create Table TEST (数据编号 Varchar(20),分組 Char(1))
Insert Into TEST(数据编号)
Select 'FBJ805C445900'
Union
Select 'FBJ805C445901'
Union
Select 'FBJ805C445902'
Union
Select 'FBJ805C445998'
Union
Select 'FBJ815C445900'
Union
Select 'FBJ815C445998'
GO
Update TEST Set 分組=(Case When 数据编号 Between 'FBJ805C445900' And 'FBJ805C445998' Then 'A'
When 数据编号 Between 'FBJ815C445900' And 'FBJ815C445998' Then 'B' End)
Select * From TEST
GO
Drop Table TEST
GO
--Result
/*
数据编号 分組
FBJ805C445900 A
FBJ805C445901 A
FBJ805C445902 A
FBJ805C445998 A
FBJ815C445900 B
FBJ815C445998 B
*/
Insert A Select 'A', 'FBJ805C445900','FBJ805C445998'
Union All Select 'B', 'FBJ815C445900','FBJ815C445998'
Create Table B (数据编号 Varchar(20),分組 Char(1))
GO
Create Trigger Insert_B On B
Instead Of Insert
As
Insert B Select C.数据编号,A.分組 From A Inner Join Inserted C On C.数据编号 Between A.开始编号 And A.结束编号
GO
Insert Into B(数据编号)
Select 'FBJ805C445900'
Union
Select 'FBJ805C445901'
Union
Select 'FBJ805C445902'
Union
Select 'FBJ805C445998'
Union
Select 'FBJ815C445900'
Union
Select 'FBJ815C445998'
Select * From B
GO
Drop Table A,B
GO
--Result
/*
数据编号 分組
FBJ805C445900 A
FBJ805C445901 A
FBJ805C445902 A
FBJ805C445998 A
FBJ815C445900 B
FBJ815C445998 B
*/
Create Trigger Insert_B On B
Instead Of Insert
As
Insert B Select C.数据编号,A.分組 From A Inner Join Inserted C On C.数据编号 Between A.开始编号 And A.结束编号
GO這段代碼建立觸發器後,以後你只輸入“数据编号”,就能自動將“分組”插入到表中。將表名A、B改為你實際的表名。A為你的有开始编号、结束编号的表。B為你要插入數據的表。
up!