从数据库中获取信息

时间:2012-04-10 12:28:56

标签: c# sql database

这将是一个noob问题,但我有一个问题,当我想根据另一个表中的外键获取数据,问题是我无法弄清楚sql做到这一点。

我有以下表格:

  • 用户login, password, role_id, userDetail_id

  • ROLES role_id, role_name

  • USER_DETAILS userDetail_id, name surname

现在我想得到role_id为4的所有用户的名字和姓氏,并在asp下拉控件中显示它们。

感谢您的帮助,因为它让我很困惑。

3 个答案:

答案 0 :(得分: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();

答案 1 :(得分:0)

SELECT name, surname
FROM USER_DETAILS ud, USERS u
WHERE ud.userDetail_id = u.userDetail_id
 AND u.role_id = 4;

答案 2 :(得分: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