我有一个查询,其中显示报告名称和报告ID这仅适用于预先检查报告的情况。这些值填充在数据网格中。如果未选中该报告,则仅显示该名称。我尝试使用UPDATE关键字,但我一直遇到语法错误。我知道对查询的小改动很简单,但是当报告未经检查或基本上报告可见时,我在试图显示reportid时遇到了一个棘手的时间。如何解决这个问题以显示reportid,无论它是否是检查与否?
valsql1 = "SELECT c.ReportID, c.COMPANYID, rl.REPORTNAME
FROM CompanyReportListTable c
right join ReportList rl on c.reportid = rl.ReportID
and reportvisible = 1
and CompanyID =" & DropDownList1.SelectedValue & "
where rl.ReportID in (
Select ReportID
from ReportList
where ReportVisible = 1
)
order by ReportName"
答案 0 :(得分:0)
您只是直接加入reportvisible = 1,然后您专门选择reportvisible = 1的reportIDs。您已经两次过滤了reportvisible = 0的行,所以当然你不是&n #39;将获取这些行的reportids。您应该将rl.reportvisible
添加到SELECT子句中,并从join和where子句中删除reportvisible = 1
。
答案 1 :(得分:0)
这只是一个字/两个字母的变化。在第一个SELECT语句,而不是c.ReportID,它应该是rl.REPORTID。请参阅右连接;使用右连接,它返回报告列表中的选定行,将其与crl表匹配。现在我们做了它,所以无论是否匹配都会出现reportID。有点像报告名称/标题