比较子查询结果包含

时间:2018-02-09 21:00:24

标签: sql teradata

我有以下查询:

select user as A
from table
where (
    select days
    from table
    where user = 123
) in (
    select days
    from table
    where user = A
)

基本上,我有一个用户和日期表,用户登录时可以保存。每个用户都可以在不同的日子登录,因此我会为同一个用户提供多行。

我希望用户123每天都登录的所有用户(可能还有更多)。

但是,上面的查询给出了错误:

  

子查询返回了多个值。

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

查找匹配集的常见解决方案基于自连接和计数:

.html

如果每个用户每天可能有多行,则必须加入DISTINCT日期。