2012-04-10 176 views
0

這將是一個noob問題,但我有一個問題,當我想要根據另一個表中的外鍵獲取數據,問題是我無法弄清sql去做吧。從數據庫中獲取信息

我有以下表格:

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

然後你可以綁定你的數據表到下拉:

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

你也可以用'LEFT JOIN' 做'選擇名字,姓氏FROM USER_DETAILS ud LEFT JOIN USERS你打開(ud.userDetail_id = u.userDetail_id)WHERE u.role_id = 4;' – psalvaggio 2012-04-10 12:36:24

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