2012-03-07 20 views
0

を介してデータを選択し、私は以下のようなDBを持っている: (申し訳ありませんが、私は図をアップロードすることができなかった)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_nameまたはgrp_id、 を入力して、私はこのグループを持っており、タイプテーブルからchecklistboxに、それらのタイプ名を追加した項目を認識すべきです。

+0

動的SQLをお探しですか? – Teja

+0

投稿コードは何ですか? – Teja

+0

かなり標準的な質問、これまでに何を試しましたか? – sll

答えて

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

+0

これは何かを意味するのですか? 'SqlCommand cmd = new SqlCommand(" ... "、connection); cmd.Parameters.AddWithValue( "@ sth"、sth).DbType = DbType.Int16; ' – rene

+0

@rene SQLの基本について詳しく知りたい場合があります。 http://www.w3schools.com/sql/sql_join.aspまた、ADO.NETに関する優れた本を入手してください。それはすぐにそれ自身を支払うでしょう。 –

関連する問題