Sql SELECT语句问题-将不同字段的数据合并到Gridview的一个单元格中
我对Gridview使用以下SELECT语句:Sql SELECT语句问题-将不同字段的数据合并到Gridview的一个单元格中,sql,gridview,field,cell,selectcommand,Sql,Gridview,Field,Cell,Selectcommand,我对Gridview使用以下SELECT语句: SelectCommand="SELECT ID, Date, Train, I_R, Dir_Ind, Detn, Rly, DiV, Loco, Shed, locoClass, loco_type, (maj_sch_type + ','+ ' ' + maj_sch_place +',' +' '+ (CAST(maj_sch_dt as VARCHAR(11)) + ' '+'/' + ' ' + min_sch_type +','
SelectCommand="SELECT ID, Date, Train, I_R, Dir_Ind, Detn, Rly, DiV, Loco, Shed, locoClass, loco_type,
(maj_sch_type + ','+ ' ' + maj_sch_place +',' +' '+ (CAST(maj_sch_dt as VARCHAR(11)) + ' '+'/'
+ ' ' + min_sch_type +',' + ' ' + min_sch_place + ',' + ' '+(CAST(min_sch_dt as VARCHAR (11))) )) as "major",
Equipt, I_R, reason
FROM PunctualityMain Order by Date ASC"
有了上面的内容,我将在单个单元格中从6 3+3个不同的SQL数据字段中获得结果,如下所示:
POH, KPA, Jan 2 2012 / IB, Shed, Apr 18 2012
问题在于,每当“/”之前或之后的任何一组3个字段中的数据为空时,Gridview单元格将保持完全为空。如果两组字段的数据都大于Gridview dispaly,则如上所述是正常的。是否可以修改SELECT语句,以便在Gridview中显示任何一组字段为空的数据?如果尝试将空字符串与非空字符串连接起来,结果将为空
Select NULL + 'test'
这将返回NULL
另外,我认为您的代码没有很好地将粘贴复制到您的问题中,但是您需要使用ISNULL函数。我想你能理解这一点。您可能需要对代码进行一些清理,以使其运行。只需包装与ISNULLMyField连接的每个字段
SELECT
ID,
Date,
Train,
I_R,
Dir_Ind,
Detn,
Rly,
DiV,
Loco,
Shed,
locoClass,
loco_type,
(isnull(maj_sch_type, '') + ', ' + isnull(maj_sch_place, '') +', '+ (isnull(CAST(maj_sch_dt as VARCHAR(11), '')) + ' / ' + isnull(min_sch_type, '') +', ' + isnull(min_sch_place, '') + ', '+ (isnull(CAST(min_sch_dt as VARCHAR (11)), '')) )) as "major",
Equipt,
I_R,
reason
FROM PunctualityMain
Order by Date ASC
参考文献
是否尝试将此select语句拆分为子查询?您可以将where子句设置为检查空白结果。只是一时的想法,我真的不知道怎么了。