组合 2 个 SQL 命令
本文关键字:命令 SQL 组合 | 更新日期: 2023-09-27 17:56:44
我有 2 个 SQL 命令来填充网格视图。首先,我使用以下SQL命令选择当前用户成功填写的每个ID:
"SELECT Mod_ID FROM Toewijzing WHERE User_ID = '" + Session["userid"].ToString() + "' AND Toe_Status = '" + "ja" + "' "
之后,对于在数据库中找到的每个ID,我必须使用以下SQL命令获取其名称,语言等(不同的表):
"SELECT Mod_ID, Mod_Naam, Mod_Omschrijving, Taal_ID, User_ID from Model WHERE Mod_ID = '" + dr["Mod_ID"].ToString() + "' "
要填充我的网格视图,我只能使用 1 个 SQL 命令。有没有办法将这两个命令放入 1 个命令中?
用于填充网格视图的代码:
dr = cmd.ExecuteReader();
gvIngevuld.DataSource = dr;
gvIngevuld.DataBind();
con.Close();
cmd 是 SQL 命令。
也许你可以试试这个:
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条件即可。
您可以使用 JOIN 语句来解决此问题。
"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' "
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.
"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属性联接这两个表。您还可以按照此模式联接多个表。