0

これは少し初歩的な質問になりますが、別のテーブルの外部キーに従ってデータをフェッチしたいときに、それを行うためのSQLを理解できないという問題があります。

次のテーブルがあります。

  • ユーザー:login, password, role_id, userDetail_id

  • 役割:role_id, role_name

  • ユーザーの詳細:userDetail_id, name surname

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

それは本当に私を困惑させたので、助けてくれてありがとう。

4

3 に答える 3

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";

次に、データテーブルをドロップダウンにバインドできます。

    dropdown.DataSource = dt;
    dropdown.DataTextField = "name";
    dropdown.DataBind();
于 2012-04-10T12:35:18.643 に答える
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
于 2012-04-10T12:41:22.317 に答える
0
SELECT name, surname
FROM USER_DETAILS ud, USERS u
WHERE ud.userDetail_id = u.userDetail_id
 AND u.role_id = 4;
于 2012-04-10T12:32:15.727 に答える