2012-03-07 56 views
0

我有一個分貝像下面選擇數據: (抱歉,我不能上傳圖)SQL查詢,通過3個表

組表:

grp_id smallint 
grp_name char(50) 

類型表:

tp_id smallint 
tp_name char(50) 

項目表:

it_id int 
grp_id smallint 
tp_id smallint 

項目表通過grp_id鏈接到組表,並通過tp_id鏈接到類型表。

用戶進入grp_namegrp_id, 我應該實現哪些項目有這樣的組,並添加它們的類型名稱,從類型表的checklistbox

+0

r你在找動態sql嗎? – Teja 2012-03-07 21:26:11

+0

發佈您的代碼什麼hav你試過.. – Teja 2012-03-07 21:28:29

+0

漂亮的標準查詢,你到目前爲止嘗試過什麼? – sll 2012-03-07 21:28:37

回答

2
select it_id, tp_name 
from item 
inner join type on type.tp_id = item.tp_id 
inner join [group] on [group].grp_id = item.grp_id 
where [group].grp_id = @groupid or [group].grp_name = @groupname 
+0

+1 - 我會改變?分別爲'@ groupid'和'@ groupname',但前提是OP使用ADO.NET。 – Jetti 2012-03-07 21:31:47

+0

你的意思是這樣嗎?'SqlCommand cmd = new SqlCommand(「...」,connection); cmd.Parameters.AddWithValue(「@ sth」,sth).DbType = DbType.Int16; ' – rene 2012-03-07 21:33:24

+0

@rene您可能想考慮刷新SQL基礎知識,請參閱http://www.w3schools.com/sql/sql_join.asp另外,在ADO.NET上抓一本好書。它很快就會付錢。 – 2012-03-07 21:33:53