如何在单元格中显示NULL值,从上面的行中得到相应的值? [英] How to show in the cells with NULL values the corresponding values from the above rows?
本文介绍了如何在单元格中显示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屋!
查看全文