0

我在 SQL 查询中遇到了一些问题。我尝试在其他选择查询中使用选择结果来获取结果,但它不起作用。谁能指导我。以下是我在 WCF 中使用的代码。非常感谢。

SqlCommand command = new SqlCommand("select tName from dbo.tblBankBranch where nBankID=(select nID from dbo.tblBankBranch where tState='" + tBank + "')", con);
SqlDataReader reader = command.ExecuteReader();
4

1 回答 1

2

我猜你实际上得到了一个在某处被捕获并忽略的错误。SQL 语句看起来很可疑。

select tName
from dbo.tblBankBranch
where nBankID=(select nID from dbo.tblBankBranch where tState='{tbank}')

只有当状态中有一个分支时它才会起作用,否则你会得到一个错误。

尝试将其编写为 JOIN。忽略这一点,为什么 tblBankBranch 在那里两次?

select tName
from dbo.tblBankBranch
where tState='{tbank}'

如果字段 nBankID 和 nID 在单个表中确实不同,并且您确实希望以这种方式链接它们,那么 JOIN 形式是

select A.tName
  from dbo.tblBankBranch A
  join dbo.tblBankBranch B
    on A.nBankID=b.nID AND b.tState='{tbank}'

我将把它留给你来扁平化在 C# 中使用的语句。

于 2012-11-09T03:08:09.073 回答