我有一个查询需要从另一个表中删除特定记录。 这是我的查询。 以下代码选择用户所在的所有组的所有应用信息。
SELECT app_name,
ifnull(max(priv_access), 'N') as priv_access,
ifnull(max(priv_insert),'N') as priv_insert,
ifnull(max(priv_delete),'N') as priv_delete,
ifnull(max(priv_update),'N') as priv_update,
ifnull(max(priv_export),'N') as priv_export,
ifnull(max(priv_print),'N') as priv_print
FROM prismreporting_sec_groups_apps
WHERE group_id IN
(SELECT
group_id
FROM
prismreporting_sec_users_groups
WHERE
login = 'kdriscoll')
group by app_name
我现在想要为该用户排除另一个表中的所有记录。 我有两个名为login和app_name的字段 表的名称是prismreporting_sec_removeuser_apps 这是我试图使用的选择
select app_name from prismreporting_sec_removeuser_apps where login = 'kdriscoll'
我真的不知道用什么方式(如果有的话)我能做到这一点...... 有人可以帮忙吗?
提前致谢
凯文
答案 0 :(得分:0)
你可以使用 不在子句中:
SELECT app_name,
ifnull(max(priv_access), 'N') as priv_access,
ifnull(max(priv_insert),'N') as priv_insert,
ifnull(max(priv_delete),'N') as priv_delete,
ifnull(max(priv_update),'N') as priv_update,
ifnull(max(priv_export),'N') as priv_export,
ifnull(max(priv_print),'N') as priv_print
FROM prismreporting_sec_groups_apps
WHERE group_id IN
(SELECT
group_id
FROM
prismreporting_sec_users_groups
WHERE
login = 'kdriscoll'
and app_name not in
(select app_name from prismreporting_sec_removeuser_apps
where login = 'kdriscoll')
group by app_name