2012-11-09 144 views
0

我在SQL查詢中遇到了一些問題。我嘗試在其他select查詢中使用select結果來獲取結果,但它不工作。任何人都可以指導我。下面是我在WCF中使用的代碼。非常感謝你。SQL Select語句無法正常工作

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

實際問題是什麼。你能解釋「不工作」嗎?它拋出異常嗎?它什麼都沒有返回? –

+0

它不會返回任何錯誤。 –

+0

你怎麼知道它返回了什麼?您發佈的代碼不會查看'SqlDataReader' –

回答

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都在表真的不同,你想給他們以這種方式連接,那麼連接形式是

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

我會離開它給你扁平化在C#中使用的語句。

+0

非常感謝您的指導。 –