2015-02-11 109 views
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') 
     group by app_name 

我想現在在另一個表爲用戶排除任何記錄。 我有兩個字段叫做登錄和APP_NAME 表的名稱是prismreporting_sec_removeuser_apps ,這是選擇我試圖用

select app_name from prismreporting_sec_removeuser_apps where login = 'kdriscoll' 

我真的不知道有什麼辦法(如果有的話)我可以做到這一點。 .. 有人可以幫忙嗎?

在此先感謝

凱文

回答

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 
+0

太感謝你了......曾爲嘀......! – 2015-02-11 18:04:09