Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL中的Divide select不起作用_Sql_Oracle_Select - Fatal编程技术网

SQL中的Divide select不起作用

SQL中的Divide select不起作用,sql,oracle,select,Sql,Oracle,Select,你能帮我用SQL中的除法选择吗?我使用Oracle Apex Express版本。我有三张桌子。英文原名在括号中:用户Uzivatel、事件Udalost和用户组Skupina_。它们的上下文显示在屏幕上: 现在我必须在SQL中使用divide-select。此选择已制定:您必须显示参与所有事件的所有用户。在我的表中,您可以看到我有两个用户,他们参与了所有事件。他们是“SK2”组的一部分。我使用此选择: select * from Uzivatel where not exists (se

你能帮我用SQL中的除法选择吗?我使用Oracle Apex Express版本。我有三张桌子。英文原名在括号中:用户Uzivatel、事件Udalost和用户组Skupina_。它们的上下文显示在屏幕上:

现在我必须在SQL中使用divide-select。此选择已制定:您必须显示参与所有事件的所有用户。在我的表中,您可以看到我有两个用户,他们参与了所有事件。他们是“SK2”组的一部分。我使用此选择:

select *
from   Uzivatel
where  not exists (select *
                   from   Skupina_u
                   where  not exists (select *
                                      from   Udalost
                                      where  Skupina_u.ID_uz = Uzivatel.ID_uz
                                      and    Skupina_u.ID_uz = Udalost.ID_uz)) 
但结果是:没有找到任何数据


谢谢你的帮助。

这是对你用英语提出的问题的回答。查找参与所有事件的所有用户

这是集合内集合查询的一个示例。我认为最好的方法是使用聚合,因为相同的结构可以用于许多问题。让我向您展示如何使用表和列的英文名称:

select eu.UserId
from User_Events eu
group by eu.UserId
having count(distinct eu.EventId) = (select count(*) from Events e)
也就是说,选择事件表中不同事件ID数为数字的所有用户。如果只希望事件具有用户,请使用以下having子句:


这是在回答你用英语提出的问题。查找参与所有事件的所有用户

这是集合内集合查询的一个示例。我认为最好的方法是使用聚合,因为相同的结构可以用于许多问题。让我向您展示如何使用表和列的英文名称:

select eu.UserId
from User_Events eu
group by eu.UserId
having count(distinct eu.EventId) = (select count(*) from Events e)
也就是说,选择事件表中不同事件ID数为数字的所有用户。如果只希望事件具有用户,请使用以下having子句:


您指的是哪两个用户?他们参加了哪些活动?还有其他桌子吗?表事件Udalost的主键是什么?您指的是哪两个用户?他们参加了哪些活动?还有其他桌子吗?哪个是表事件Udalost的主键?@ypercube我认为用户Martin和Diana,因为他们属于SK2组。这一群体与每一事件都有关联。表Udalost中的主键是屏幕上的ID_ud作为ID。他们前往阿姆斯特丹和布拉迪斯拉发参加活动。表Udalost有两个外键ID_o Skupina_的主键和ID_uz表Uzivatel的主键。Gordon Linoff:谢谢,但我必须使用not exists的语法。我更新了屏幕,添加了表名和主键名。这个答案足够了,但用户_Events.EventId必须有一个引用Events.EventId.So的外键约束,在这种情况下,我不能使用语法with not exists…?使用此选择:从不存在的Uzivatel中选择Meno_从Skupina_中选择*从Skupina_中选择,其中Skupina_.ID_uz=Uzivatel.ID_uz而不存在从Udalost中选择*Skupina_.ID_uz=Udalost.ID_uz我从表Uzivatel获取所有用户。。。但现在我只需要显示两个参加所有活动的用户——马丁和戴安娜。他们属于SK2组。@ypercube我认为是用户Martin和Diana,因为他们属于SK2组。这一群体与每一事件都有关联。表Udalost中的主键是屏幕上的ID_ud作为ID。他们前往阿姆斯特丹和布拉迪斯拉发参加活动。表Udalost有两个外键ID_o Skupina_的主键和ID_uz表Uzivatel的主键。Gordon Linoff:谢谢,但我必须使用not exists的语法。我更新了屏幕,添加了表名和主键名。这个答案足够了,但用户_Events.EventId必须有一个引用Events.EventId.So的外键约束,在这种情况下,我不能使用语法with not exists…?使用此选择:从不存在的Uzivatel中选择Meno_从Skupina_中选择*从Skupina_中选择,其中Skupina_.ID_uz=Uzivatel.ID_uz而不存在从Udalost中选择*Skupina_.ID_uz=Udalost.ID_uz我从表Uzivatel获取所有用户。。。但现在我只需要显示两个参加所有活动的用户——马丁和戴安娜。他们属于SK2组。