V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
codde
V2EX  ›  问与答

问一下大家一个 SQL select 视图的问题

  •  
  •   codde · 2022-03-02 16:27:35 +08:00 · 1051 次点击
    这是一个创建于 998 天前的主题,其中的信息可能已经有所发展或是发生改变。

    select * from 视图 可以拿到 50 条数据

    select id from 视图 可以拿到 70 多条数据 是同一个视图 并且把某些取到的 id 去视图里查询 where id 是查询不到的

    不止是 id 只要是视图里的属性 放在 select 之后就能查出 70 多条数据

    问一下大家这是什么情况

    9 条回复    2022-03-22 16:19:28 +08:00
    tinybaby365
        1
    tinybaby365  
       2022-03-02 16:39:04 +08:00
    Materialized view ?
    xsm1890
        2
    xsm1890  
       2022-03-02 16:42:26 +08:00
    oracle ? MySQL ? PG? 有这种事??
    shakoon
        3
    shakoon  
       2022-03-02 16:54:37 +08:00
    select count(*)和 count(id)看看呢?
    codde
        4
    codde  
    OP
       2022-03-02 16:59:44 +08:00
    @xsm1890 sql server 可能和视图原因有关 我看不到视图是怎么建的。
    codde
        5
    codde  
    OP
       2022-03-02 17:02:37 +08:00
    @shakoon count(*) count(id)的话是 70 多条。 但是 select *就 50 条数据。
    shyrock
        6
    shyrock  
       2022-03-02 18:50:08 +08:00
    有一种可能是你连接是一个代理,比如 pgpool ,对读取做了 LB ,你每次查询访问哪个库是随机的。
    codde
        7
    codde  
    OP
       2022-03-02 19:10:21 +08:00 via Android
    @shyrock 应该不会 我做了多次查询 查询结果是一致的。
    codde
        8
    codde  
    OP
       2022-03-02 19:12:47 +08:00 via Android
    @codde 我不用 select * 用 select 各个属性 取出来的某些值在视图里是查不到的 我觉得可能的解释就是这个建视图的语句有问题 但我不知道什么问题会导致这种情况
    shyrock
        9
    shyrock  
       2022-03-22 16:19:28 +08:00
    OP 的问题找到原因了吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2755 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 09:57 · PVG 17:57 · LAX 01:57 · JFK 04:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.