菜鸟关于sql语句提问 谢谢啊
表如下:
SenNum int 不是键 容许空
A vchar 不是键 容许空
比如说:
SenNum A
1 我
2 天
操作:刷新时先看SenNum=2的A下有没有值,若有则插入新的一行,若没有则直接填入值。对于本例则插入一行,结果是:
SenNum A
1 我
2 天
2 空
请问 Sql语句该咋写呢?谢谢大侠们
[解决办法]
declare @s varchar(10)
select @s=isnull(A, '| ') from table where SenNum=2
if @s <> '| '
insert into table 2, 'value '
else
update table set a= 'value ' where SenNum=2
[解决办法]
"刷新时先看SenNum=2 "
刷新時,是指什麼?往表中插入一條數據?
看樣子,好象是要寫一個觸發器.
[解决办法]
create table #t6(SenNum int, A varchar(50))
insert #t6
select 1 , '我 ' union all
select 2 , '天 '
declare @SenNum int
declare @value varchar(50)
set @SenNum=2
set @value= '空 '
if (select count(1) from [#t6] where SenNum=@SenNum)> 0
begin
insert [#t6] select @SenNum, ' '+@value+ ' '
end
else
update [#t6] set a= ' '+@value+ ' ' where SenNum=@SenNum
查看结果
select * from #t6
[解决办法]
以上那个需要修改一下,下边这个可以满足lz所说的两种情况了。
drop table #t6
create table #t6(SenNum int, A varchar(50))
insert #t6
select 1 , '我 ' union all
select 2 , null
declare @SenNum int
declare @value varchar(50)
set @SenNum=2
set @value= '空 '
begin
if (select count(A) from [#t6] where SenNum=@SenNum)> 0
begin
insert [#t6] select @SenNum, ' '+@value+ ' '
end
else
begin
update [#t6] set a= ' '+@value+ ' ' where SenNum=@SenNum
end
end
select * from #t6
-------------
1我
2空