多个子查询 [英] Multiple sub queries

查看:30
本文介绍了多个子查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否可以从同一个表日期记录中得到如下结果:

Is it possible to get the result as below from the same table date-wise records:

               Enrolled   Enrolled as Email  Enrolled as Text Deals Redeemed   
<First Date>   7          5                  2                6
<Next Date>    9          3                  6               14

表结构如下:

Customer_id, field1, field2, responsecode, created_date

我当前的查询是这样的:

My current query is something like this:

Select 
   Created,
   Enroll = (Select COUNT(*) from tblCustomer where field1 <> '' group by created),
   Email = (Select COUNT(field1) from tblCustomer where field1 = 'E-mail' and field1     <>    '' group by created),
   Cell = (Select COUNT(*) from tblCustomer where field1 = 'Cell Phone' and field1 <> ''    group by created)
from tblCustomer 
group by created 
order by created

推荐答案

尝试:

select created_date,
       count(field1) Enrolled,
       count(case field1 when 'E-mail' then 1 end) Enrolled_as_Email,
       count(case field1 when 'Cell Phone' then 1 end) Enrolled_as_Cell,
       (Select COUNT(*)
        from tbl_TransactionDishout d
        where d.created = c.created_date and
              d.DishoutResponseCode = '0000') Deals_Redeemed
from tblCustomer c
group by created_date
order by created_date

这篇关于多个子查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆