Sql 仅选择不在多个表中的元素

Sql 仅选择不在多个表中的元素,sql,Sql,我需要帮助创建一个查询,该查询将选择我的动物表中未显示在我的事件表中的一个动物 这是我的出发点,但我不知道从这里走到哪里: 从动物中选择* 事件ID在哪里= 我把表格贴了出来供参考 动物: 活动: 动物活动: 您可以尝试以下方法: proc sql; create table xyz as select * from (select distinct x as q from one) as a left join (select distinct x as w from two) as

我需要帮助创建一个查询,该查询将选择我的动物表中未显示在我的事件表中的一个动物

这是我的出发点,但我不知道从这里走到哪里:

从动物中选择* 事件ID在哪里=

我把表格贴了出来供参考

动物:

活动:

动物活动:

您可以尝试以下方法:

proc sql;
create table xyz as
select * from

(select distinct x as q from one) as a left join

(select distinct x as w from two) as b  
on a.q = b.w
where b.w = "";


quit;

您可以尝试以下方法:

proc sql;
create table xyz as
select * from

(select distinct x as q from one) as a left join

(select distinct x as w from two) as b  
on a.q = b.w
where b.w = "";


quit;
这可能会奏效:

-- Select all fields from Animals table
-- where Animal_ID not in Animal_Event table.
SELECT X.*
FROM Animals AS X
WHERE A.Animal_ID NOT IN (
    SELECT Y.Animal_ID
    FROM Animal_Event AS Y
    GROUP BY Y.Animal_ID
    ) 
这可能会奏效:

-- Select all fields from Animals table
-- where Animal_ID not in Animal_Event table.
SELECT X.*
FROM Animals AS X
WHERE A.Animal_ID NOT IN (
    SELECT Y.Animal_ID
    FROM Animal_Event AS Y
    GROUP BY Y.Animal_ID
    ) 

这些表之间似乎并没有关系。看起来这是SQL Server,所以使用RDMS标记会有所帮助。此外,以文本形式提供示例数据,以及以文本形式提供所需的输出,将有助于我们帮助您。正如George所说,并实际告诉我们表的名称。您的意思是:不会显示在animal_事件表中吗?显示您期望的输出。可能:选择*来自动物,其中动物ID不在选择动物ID来自动物事件中;。这些表之间似乎并没有关系。看起来这是SQL Server,所以使用RDMS标记会有所帮助。此外,以文本形式提供示例数据,以及以文本形式提供所需的输出,将有助于我们帮助您。正如George所说,并实际告诉我们表的名称。您的意思是:不会显示在animal_事件表中吗?显示您期望的输出。可能:选择*来自动物,其中动物ID不在选择动物ID来自动物事件中;。