显示空白行'不显示'数据详情

时间:2015-03-17 15:05:19

标签: sql datagrid

- 我真的不确定如何标记我的查询标题,所以随意改变它! -

目标:显示所有'子数据'在gridview上还有一行显示没有数据'对于没有数据的属性。因此,如果您对Property 1进行了通配符搜索,并且有一个属性' 1'有两行详细信息以及一个属性' 11'但没有详细信息,那么数据网格上会有三行(两个用于属性' 1'一个用于属性' ; 11')财产行' 11'会有UPRN然后其他行会有这个UPRN'没有数据。

问题:在用户搜索时,网格显示来自' TblAssociatedData'的详细信息。但是,我想要做的是当没有找到其中一个潜在的UPRN的数据时,TblProperty'我想为此返回一行,并且没有找到数据'所以用户可以看到搜索有效也是这个属性。

这不是没有数据显示的问题,我的工作正常。

我假设有人在问某个地方,但我尝试过不同的短语和搜索但却无法找到我之后的内容。

我现在使用的代码:

SELECT *  FROM TblAssociatedData AS a 
INNER JOIN TblProperty As p
on p.UPRN = a.UPRN  
WHERE           
a.SurveyDate between @sDateFrom and @sDateTo AND        
(a.UPRN LIKE  '%' + @sUPRN + '%'   or
p.PostCode LIKE '%' + @sPostcode + '%'  or
p.ShopName LIKE '%' + @sPropertyName + '%'  or
p.Street LIKE '%' + @sStreet + '%'  or
p.Reg LIKE '%' + @sRegion + '%'  or
a.SurveyCompany LIKE '%' + @sSurveyCompany + '%')

无法理解如何添加下一部分我已经完成了一个未经测试的布局,好像它在.aspx页面本身一样,希望能够在结果方面显示我的思考过程是什么

显示思维过程的代码布局

sSQL1 = SELECT * FROM TBLProperty WHERE UPRN LIKE '%vUPRN%' 
-- select and then loop
dsNames1 = New SqlDataSource
dsNames1.ConnectionString = sConnString
dsNames1.SelectCommand = sSQL1

For Each datarow1 As Data.DataRowView In dsNames1.Select(DataSourceSelectArguments.Empty)

Dim vCount As Int = SELECT * FROM TBLProperty WHERE UPRN LIKE "'& datarow1("UPRN") &'"

If vCount > 0 Then

    For Each datarow1 As Data.DataRowView In dsNames1.Select(DataSourceSelectArguments.Empty)
        --loop through database and output i.e.
        DateOfIssue = datarow("UPRN")
        DateOfIssue = datarow("DateOfIssue")
    Next

Else

    --put default text here 
    DateOfIssue = vUPRN
    DateOfIssue = "-"

End If 

基本上当我没有获得找到的属性的回报时,我想为UPRN输出类似下面的内容。

SELECT 'No data found.' as ColumnName1, '' as ColumnName2, '' as ColumnName3, '' as ColumnName4

1 个答案:

答案 0 :(得分:1)

尝试:

SELECT
    p.UPRN,
    COALESCE(a.UPRN,'Not Found') AS Column3
FROM TblProperty AS p
LEFT JOIN TblAssociatedData AS a
    ON a.UPRN = p.UPRN
WHERE p.UPRN LIKE '%99%'