2024-11-03 00:27:17
declare @sql varchar(2000);
set @sql='';
select @sql=@sql+(
case(count(b.time))
--若没有记录,则插入两条
when 0 then 'insert into [表B] select '''+a.name+''',getdate() union all select '''+a.name+''',getdate();'
--若已有一条记录,则再插入一条
when 1 then 'insert into [表B] select '''+a.name+''',getdate();'
--若已有两条或以上,则不再插入
else ' '
end)
from [表A] a left join [表B] b on a.name=b.name
group by a.name;
exec(@sql);
假设表B中本来是这样的:
那么执行上面语句后,表B变成这样:
测试有效
2024-11-03 10:16:12
2024-11-03 08:30:04
2024-11-03 01:28:25