2012-04-10 35 views
0

これは少し質問になるでしょうが、別のテーブルの外部キーに従ってデータを取得したいときに問題が発生しましたが、SQLそれをするために。 データベースから情報を取得する

I持って、次の表:

  • USERSlogin, password, role_id, userDetail_id

  • ROLESrole_id, role_name

  • USER_DETAILSuserDetail_id, name surname

ここで、role_idが4のすべてのユーザーの名前と姓を取得し、それらをASPドロップダウンコントロールに表示したいとします。

本当に私を困惑させてくれてありがとうございました。

答えて

2

あなたのSQLは次のようになります。

DataTable dt = @"Select name, surname from USER_DETAILS as ud 
    Inner Join USERS as u on ud.userDetail_id = u.userDetail_id 
    Inner join ROLES as r on u.role_id = r.role_id 
    where u.role_id = 4"; 

次にドロップダウンにあなたのDataTableをバインドすることができます。

dropdown.DataSource = dt; 
    dropdown.DataTextField = "name"; 
    dropdown.DataBind(); 
0
SELECT name, surname 
FROM USER_DETAILS ud, USERS u 
WHERE ud.userDetail_id = u.userDetail_id 
AND u.role_id = 4; 
+0

ます。また、SELECT ' ' LEFT JOIN'でそれを行うことができます名前、姓USER_DETAILS ud LEFT JOIN USERS u ON(ud.userDetail_id = u.userDetail_id)WHERE u.role_id = 4; ' – psalvaggio

0
SELECT ud.name, ud.surname 
FROM user_details ud, roles uroles, users u 
WHERE ud.userDetail_id = u.userDetail_id 
AND u.role_id = uroles.role_id 
AND uroles.role_id = 4 
関連する問題