2011-05-18 55 views
0

我有2 SQL命令至極我需要填充一個gridview,首先我選擇每個ID至極當前用戶已經用下面的SQL命令succefully填寫:2 SQL命令組合?

"SELECT Mod_ID FROM Toewijzing WHERE User_ID = '" + Session["userid"].ToString() + "' AND Toe_Status = '" + "ja" + "' " 

之後,在找到的每個ID我已經得到了DB獲得它的使用以下SQL命令名稱,語言,等等等等(不同的表):

"SELECT Mod_ID, Mod_Naam, Mod_Omschrijving, Taal_ID, User_ID from Model WHERE Mod_ID = '" + dr["Mod_ID"].ToString() + "' " 

要填充我GridView的我只能用1個SQL命令。 有沒有辦法將這2個命令放入1個命令中?用於填充gridview的

代碼:

 dr = cmd.ExecuteReader(); 
     gvIngevuld.DataSource = dr; 
     gvIngevuld.DataBind(); 
     con.Close(); 

CMD作爲SQL命令。

歡迎任何幫助!

+2

JOIN兩個表 – 2011-05-18 17:56:45

回答

3

也許你可以試試這個。

+0

這是接近,但其缺少會話[ 「參數userid」]和Toe_Status = 'JA' 和DR [ 「Mod_ID」]的條件 – 2011-05-18 18:04:52

1

您可以使用JOIN語句來解決此問題。如果你想一次過的所有用戶

SELECT T.Mod_ID, M.Mod_Naam, M.Mod_Omschrijving, M.Taal_ID, M.User_ID 
FROM Toewijzing T 
LEFT JOIN Model M 
ON T.Mod_ID = M.Mod_ID 
WHERE T.User_ID = Session["userid"] AND T.Toe_Status = "ja" 

,見好就收落T.User_ID條件:

1
"SELECT 
    T.Mod_ID, M.Mod_Naam, M.Mod_Omschrijving, M.Taal_ID, M.User_ID 
FROM Toewijzing T, Model M 
WHERE 
    T.User_ID = '" + Session["userid"].ToString() + "' 
    AND T.Toe_Status = '" + "ja" + "' " 
    AND M.Mod_ID = T.Mod_ID" 

使用此查詢將兩個表中的Mod_ID屬性基於這兩個表加入這兩個表。 您也可以按照此模式連接多個表格。

1
"SELECT m.Mod_ID, m.Mod_Naam, m.Mod_Omschrijving, m.Taal_ID, t.User_ID 
    FROM Toewijzing t 
    JOIN Model m on t.Mod_id = m.Mod_ID 
    WHERE t.User_ID = '" + Session["userid"].ToString() + "' AND Toe_Status = 'ja' " 
1
SELECT Mod_ID, Mod_Naam, Mod_Omschrijving, Taal_ID, User_ID 
from Model 
WHERE Mod_ID IN 
(
    SELECT Mod_ID 
    FROM Toewijzing 
    WHERE User_ID = "'" + Session["userid"].ToString() + "'" 
    AND Toe_Status = "'" + "ja" + "'" 
) 

Or this way 

SELECT M.Mod_ID, M.Mod_Naam, M.Mod_Omschrijving, M.Taal_ID, M.User_ID 
from Model M, Toewijzing T 
WHERE User_ID = "'" + Session["userid"].ToString() + "'" 
AND Toe_Status = "'" + "ja" + "'" 
AND M.Mod_ID = T.Mod_ID 

Regards.