代码之家  ›  专栏  ›  技术社区  ›  ahmed barbary

我不能根据zplid和代码类型获取列zfeaturekey的所有行上的行都为NULL?

  •  1
  • ahmed barbary  · 技术社区  · 5 年前

    我在SQL server 2012上工作。我面临无法从表gen中获取行的问题

    当它仅在基于zplid和codetypeid的zfeaturekey字段上的所有行上为Null时。

    这意味着我需要在zfeaturekey上的所有行上获取只有NULL的行

    create table #gen
    (
    CodeTypeId int,
    Zplid  int,
    Zfeaturekey nvarchar(50)
    )
      insert into #gen values
      (854838,25820,NULL),
      (849774,25820,NULL),
      (849774,25820,NULL),
      (849774,25820,NULL),
      (849774,25820,NULL),
      (987431,26777,NULL),
      (987431,26777,1502280005),
      (987431,26777,1502290001)
    
     CodeTypeId       Zplid    Zfeaturekey
     854838            25820    NULL
     849774            25820    NULL
     849774            25820    NULL
     849774            25820    NULL
     849774            25820    NULL
    
     Result I need:
    
     CodeTypeId      Zplid      COUNT
     854838          25820        1
     849774          25820        4
    

    我不会使用zplid26777,因为它在另一行上有Null和值1502280005

    所以我需要通过zplid和codetypeid来选择feature在所有行上为NULL的位置。

    1 回复  |  直到 5 年前
        1
  •  2
  •   Popeye    5 年前

    你可以使用 group by having

    Select codetypeid, zplid, count(1) as cnt
    From t
    Group by codetypeid, zplid
    Having count(zfeaturekey) = 0