补空白缺省数据问题

霜寒月冷 2014-06-27 09:05:50
--补空白缺省数据问题

---客户的一张execl 有一列(Itype)单元格列(有规律)合并了,我把数据导入到数据表中出现有空白的情况。现想将之补全
--求思路分析、求解答
if exists (select * from sysobjects where id = OBJECT_ID('[ITest]') and OBJECTPROPERTY(id, 'IsUserTable') = 1)
DROP TABLE [ITest]

CREATE TABLE [ITest] (
[Itype] [nchar] (10) NULL,
[Idata] [nchar] (10) NULL)

INSERT [ITest] ([Itype],[Idata]) VALUES ( N'I',N'39.1')
INSERT [ITest] ([Idata]) VALUES ( N'12.12')
INSERT [ITest] ([Idata]) VALUES ( N'12.22')
INSERT [ITest] ([Idata]) VALUES ( N'253.69')
INSERT [ITest] ([Idata]) VALUES ( N'12.68')
INSERT [ITest] ([Itype],[Idata]) VALUES ( N'II',N'32.143')
INSERT [ITest] ([Idata]) VALUES ( N'35.31')
INSERT [ITest] ([Itype],[Idata]) VALUES ( N'III',N'25.36')
go

--原表数据
--Itype Idata
--I 39.1
--NULL 12.12
--NULL 12.22
--NULL 253.69
--NULL 12.68
--II 32.143
--NULL 35.31
--III 25.36

--期待结果

--Itype Idata
--I 39.1
--I 12.12
--I 12.22
--I 253.69
--I 12.68
--II 32.143
--II 35.31
--III 25.36
...全文
310 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
chen357313771 2014-06-27
  • 打赏
  • 举报
回复
CREATE TABLE #ITest (
[Itype] [nchar]  (10) NULL,
[Idata] [nchar]  (10) NULL)
 
INSERT #ITest ([Itype],[Idata]) VALUES ( N'I',N'39.1')
INSERT #ITest ([Idata]) VALUES ( N'12.12')
INSERT #ITest ([Idata]) VALUES ( N'12.22')
INSERT #ITest ([Idata]) VALUES ( N'253.69')
INSERT #ITest ([Idata]) VALUES ( N'12.68')
INSERT #ITest ([Itype],[Idata]) VALUES ( N'II',N'32.143')
INSERT #ITest ([Idata]) VALUES ( N'35.31')
INSERT #ITest ([Itype],[Idata]) VALUES ( N'III',N'25.36')

SELECT * FROM #ITest

;WITH test1
AS 
(
	SELECT ROW_NUMBER() OVER(ORDER BY GETDATE()) AS ID
		,*
	FROM #ITest
)
,test2 AS 
(
	SELECT *,Itype AS Itype1 FROM test1 WHERE ID =1
	UNION ALL
	SELECT A.*,CASE WHEN A.Itype IS NULL THEN (CASE WHEN B.Itype1 IS NOT NULL  THEN B.Itype1 END)ELSE A.Itype END
	FROM test1 AS A,test2 AS B
	WHERE A.ID=B.ID+1  
)
SELECT IType1 AS Itype,Idata FROM test2
霜寒月冷 2014-06-27
  • 打赏
  • 举报
回复
引用 5 楼 ssp2009 的回复:
[quote=引用 3 楼 chz415767975 的回复:] [quote=引用 1 楼 ssp2009 的回复:] declare @Itype [nchar] (10)=N'I' update [ITest] set Itype=@Itype,@Itype=case when Itype is null then @Itype else Itype end
这个写法只能针对两类的情况。实际类别会很多...[/quote]你试了没[/quote] 不好意思,你的语句是对的,
以学习为目的 2014-06-27
  • 打赏
  • 举报
回复
引用 1 楼 ssp2009 的回复:
declare @Itype [nchar] (10)=N'I' update [ITest] set Itype=@Itype,@Itype=case when Itype is null then @Itype else Itype end
满足楼主的要求,这些法很巧妙
哥眼神纯洁不 2014-06-27
  • 打赏
  • 举报
回复
引用 4 楼 chz415767975 的回复:
我个人的想法是用 row_number 先编号,然后在处理,但一直没写出来..期待答案
1楼的方法更牛
快溜 2014-06-27
  • 打赏
  • 举报
回复
引用 3 楼 chz415767975 的回复:
[quote=引用 1 楼 ssp2009 的回复:] declare @Itype [nchar] (10)=N'I' update [ITest] set Itype=@Itype,@Itype=case when Itype is null then @Itype else Itype end
这个写法只能针对两类的情况。实际类别会很多...[/quote]你试了没
霜寒月冷 2014-06-27
  • 打赏
  • 举报
回复
我个人的想法是用 row_number 先编号,然后在处理,但一直没写出来..期待答案
霜寒月冷 2014-06-27
  • 打赏
  • 举报
回复
引用 1 楼 ssp2009 的回复:
declare @Itype [nchar] (10)=N'I' update [ITest] set Itype=@Itype,@Itype=case when Itype is null then @Itype else Itype end
这个写法只能针对两类的情况。实际类别会很多...
--小F-- 2014-06-27
  • 打赏
  • 举报
回复
引用 1 楼 ssp2009 的回复:
declare @Itype [nchar] (10)=N'I' update [ITest] set Itype=@Itype,@Itype=case when Itype is null then @Itype else Itype end
GOOD JOB
快溜 2014-06-27
  • 打赏
  • 举报
回复
declare @Itype [nchar] (10)=N'I' update [ITest] set Itype=@Itype,@Itype=case when Itype is null then @Itype else Itype end
内容概要:SSD2828QN4是一款MIPI主桥接芯片,用于连接应用处理器与传统并行LCD接口及支持MIPI从属接口的LCD驱动器。该芯片支持最高每通道1Gbps的串行链路速度,最多可配置4个数据通道,显著减少了信号数量。它支持多种接口模式,包括RGB+SPI组合接口,适用于驱动智能或非智能显示面板,并能通过命令模式和视频模式传输数据。芯片内置时钟和复位模块、外部接口、协议控制单元(PCU)、包处理单元(PPU)、错误校正码/循环冗余校验(ECC/CRC)模块、长包和命令缓冲区、D-PHY控制器、模拟收发器以及内部锁相环(PLL),确保了高效的数据传输和系统稳定性。此外,文档详细描述了芯片的引脚分配、寄存器设置、操作模式、电源序列、时序特性等关键参数,为开发者提供了全面的技术指导。 适合人群:具备一定硬件设计基础,从事嵌入式系统开发、显示技术研究的研发人员。 使用场景及目标:①实现应用处理器与MIPI兼容显示屏之间的高速数据传输;②优化显示系统的功耗表现,减少电磁干扰(EMI);③通过灵活配置不同接口模式来适应各种显示设备的需求。 阅读建议:此文档面向具有一定电子工程背景的专业人士,建议读者结合实际项目需求深入理解各章节内容,特别是关于寄存器配置、时序要求等方面的具体说明。对于初次接触此类技术的开发者而言,建议先熟悉基本概念再逐步掌握高级功能的应用方法。

34,875

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧