淘客熙熙

主题:【求助】求助sql问题 -- 葡萄干

共:💬5 🌺4 新:
分页树展主题 · 全看首页 上页
/ 1
下页 末页
  • 家园 【求助】求助sql问题

    求助sql问题

    表a如下:

    id zt xxx

    01 01 aaaaa

    01 01 abcd

    01 02 abccc

    02 01 aaa

    怎么查询得到如下结果表b

    id zt1 zt2

    01 2 1

    02 1 0

    zt1,zt2分别是表a中zt=01和zt=02的条数

    另,如果还存在一个表c,与表a结构相似,

    怎么在表b中加入列,统计表c中状态不同行的条数

    • 家园 俺也画蛇添足一下,赫赫

      Mysql上面test了一下,可以通过倒是。

      ----------------------------------------------

      select id, sum(if(zt="01",1,0)) as zt01, sum(if(zt="02",1,0)) as zt02 from a group by id;

    • 家园 Too Easy!

      create table #a

      (

      [id] int,

      zt varchar(50),

      xxx varchar(50)

      )

      go

      insert into #a ([id], [zt], [xxx]) values (1, '01', 'aaaa')

      insert into #a ([id], [zt], [xxx]) values (1, '01', 'abcd')

      insert into #a ([id], [zt], [xxx]) values (1, '02', 'abcc')

      insert into #a ([id], [zt], [xxx]) values (2, '01', 'aaa')

      select * from #a

      select id,

      count(case when [zt] = '01' then '01' else null end) as zt01,

      count(case when [zt] = '02' then '02' else null end) as zt02

      from #a

      group by id

      drop table #a

      go

分页树展主题 · 全看首页 上页
/ 1
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河