codde
V2EX  ›  问与答

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

  •  
  •   codde · Mar 2, 2022 · 2192 views
    This topic created in 1708 days ago, the information mentioned may be changed or developed.

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

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

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

    问一下大家这是什么情况

    9 replies  •  2022-03-22 16:19:28 +08:00
    tinybaby365
    tinybaby365
    Mar 2, 2022
    1
    Materialized view ?
    xsm1890
    xsm1890
    Mar 2, 2022
    2
    oracle ? MySQL ? PG? 有这种事??
    shakoon
    shakoon
    Mar 2, 2022
    3
    select count(*)和 count(id)看看呢?
    codde
    codde
    OP
    Mar 2, 2022
    4
    @xsm1890 sql server 可能和视图原因有关 我看不到视图是怎么建的。
    codde
    codde
    OP
    Mar 2, 2022
    5
    @shakoon count(*) count(id)的话是 70 多条。 但是 select *就 50 条数据。
    shyrock
    shyrock
    Mar 2, 2022
    6
    有一种可能是你连接是一个代理,比如 pgpool ,对读取做了 LB ,你每次查询访问哪个库是随机的。
    codde
    codde
    OP
    Mar 2, 2022 via Android
    7
    @shyrock 应该不会 我做了多次查询 查询结果是一致的。
    codde
    codde
    OP
    Mar 2, 2022 via Android
    8
    @codde 我不用 select * 用 select 各个属性 取出来的某些值在视图里是查不到的 我觉得可能的解释就是这个建视图的语句有问题 但我不知道什么问题会导致这种情况
    shyrock
    shyrock
    Mar 22, 2022
    9
    OP 的问题找到原因了吗?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2988 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 12:07 · PVG 20:07 · LAX 04:07 · JFK 07:07
    ♥ Do have faith in what you're doing.