2013-02-13 67 views
1
的一个细胞加入不同领域的数据

我使用下面的SELECT语句的GridView:SELECT语句的问题 - 在GridView的

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)

POH, KPA, Jan 2 2012/IB, Shed, Apr 18 2012 

问题SQL数据的不同字段是这个,每当在任何一组3个字段的数据(之前或之后“/”)是空白的,的GridView细胞是保持完全空白。如果上面提到的是,具有比Gridview显示数据的两组字段都OK。可以修改SELECT语句以在Gridview中显示任何一组字段为空的数据吗?

+0

你尝试过打破此select语句到子查询?您可以设置where子句来检查空白结果。 只是一个过去的想法(又名,我真的不知道什么是错的)。 – AlexLordThorsen 2013-02-14 03:26:12

回答

0

如果尝试将空字符串与非空字符串连接,结果将为空。

Select NULL + 'test' 

这将返回NULL。

此外,我认为你的代码没有复制粘贴到你的问题非常好,但你需要使用ISNULL()函数。我认为你可以明白这一点。您可能需要稍微清理一下代码才能运行。只是包装你与ISNULL串联各个领域(MyField的, '')

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 

参考

+0

它正在工作。非常感谢你。 – user1185088 2013-02-17 09:12:10