【问题标题】:SQLITE select mask, how to include duplicates as weelSQLITE 选择掩码,如何包括重复项
【发布时间】:2020-10-07 22:37:19
【问题描述】:

我有一个这样的查询,我想返回 IN case 中的所有值以及匹配的行数。

SELECT id,name,age from USERS WHERE id IN (1,75,75);

返回

1|约翰|25

75|山姆|30

我想要的是什么

1|约翰|25

75|山姆|30

75|山姆|30

这样的事情在sql中可能吗?如果你们对此有解决方案,我将不胜感激。

谢谢

【问题讨论】:

    标签: sql sqlite duplicates mask


    【解决方案1】:

    您可以改用join

    select u.*
    from (select 1 as id union all select 75 union all select 75) i join
         users u
         on u.id = i.id;
    

    更简洁的格式使用values()

    with i(id) as (
          values (1), (75), (75)
    )
    select u.*
    from i join
         users u
         on u.id = i.id;
    

    【讨论】:

    • 最后一个似乎解决了这个问题,但是我在 "(" 附近遇到语法错误。无法弄清楚如何
    • 你是完美的,感谢你快速有效的解决方案。
    猜你喜欢
    • 2016-10-22
    • 1970-01-01
    • 1970-01-01
    • 2018-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-10
    • 1970-01-01
    相关资源
    最近更新 更多