如何在单元格中显示NULL值,从上面的行中得到相应的值? [英] How to show in the cells with NULL values the corresponding values from the above rows?

查看:80
本文介绍了如何在单元格中显示NULL值,从上面的行中得到相应的值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的数据表包含如下表所示:



 RT val dt 
RT1 995 2015-09-09
RT2 243 NULL
RT3 662 2015-09-09
RT1 NULL NULL
RT1 NULL NULL
RT3 662 2015-09-09
RT3 NULL NULL





SELECT语句是:



 SELECT * FROM [dbo]。[表2] 





我希望所有具有NULL值的单元格显示上述行中的相应值,如下所示:



 RT val dt 
RT1 995 9/9/2015
RT2 243 NULL
RT3 662 9/9/2015
RT1 995 9/9/2015
RT1 995 9/9/2015
RT3 662 9/9/2015
RT3 662 9/9/2015





我们怎样才能实现这个目标?



谢谢。

解决方案

您需要将此代码放入proC(预编译器用于SQL C - 嵌入式SQL,如Oracle proC)



EXEC SQL

BEGIN

int j;

for(int i = 1; I< = table_2.size; i ++){

SELECT RT,val,dt INTO varRT [i],varval [i],vardt [i] from [dbo]。[Table_2];

}



for(i = 1; i< = table_2.size - 1; i ++){

for(j = i + 1; table_2.size; j ++){

if(varval [j] == NULL)varval [j] = varval [i];

if(vardt [j] = = NULL)vardt [j] = vardt [i];

}

}



END EXEC

My data Table contains the shown below table:

RT	val	dt
RT1       	995	2015-09-09
RT2       	243	NULL
RT3       	662	2015-09-09
RT1       	NULL	NULL
RT1       	NULL	NULL
RT3       	662	2015-09-09
RT3       	NULL	NULL



SELECT Statement is:

SELECT * FROM [dbo].[Table_2]



I Want all the cells with NULL values to show the corresponding values from the above rows as shown below:

RT	val	dt
RT1       	995	9/9/2015
RT2       	243	NULL
RT3       	662	9/9/2015
RT1       	995	9/9/2015
RT1       	995	9/9/2015
RT3       	662	9/9/2015
RT3       	662	9/9/2015



How can we acheive this?

Thanks.

解决方案

You need to put this code in to proC ( pre Compiler for SQL C - Embedded SQL like Oracle proC)

EXEC SQL
BEGIN
int j;
for (int i = 1; i<=table_2.size; i++) {
SELECT RT, val, dt INTO varRT[i], varval[i], vardt[i] from [dbo].[Table_2];
}

for (i = 1; i<=table_2.size - 1; i++) {
for (j = i+1; table_2.size; j++) {
if (varval[j] == NULL) varval[j] = varval[i];
if (vardt[j] == NULL ) vardt[j] = vardt[i];
}
}

END EXEC


这篇关于如何在单元格中显示NULL值,从上面的行中得到相应的值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆