Добавить подзапрос в существующий подзапрос - PullRequest
0 голосов
/ 03 марта 2012

Структуры таблицы:
tblCustomer

Customer_id  created   field1      field2        cardno
--------------------------------------------------------    
1014     Test1     Cell Phone  123146        1234567890
1015     Test2     Email       abc@xyz.com   2345678891

tbl_TransactionDishout

Trnx_id   offerNo   TerminalID      Created                  cardno
-------------------------------------------------------------------
1         1014      170924690436418 2010-05-25 12:51:59.547  1234567890

Возможно ли получить результат, как показано нижезаписи по дате:

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

Мой текущий запрос выглядит примерно так:

select created,
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
from tblCustomer c
group by created 
order by created desc

Но он дает мне результат даты, содержащейся только в таблице tblCustomer ..

Теперь, как получить Deals_redeemed ..?связь между tbl_transaction и tblCustomer имеет одно и то же значение ...

1 Ответ

1 голос
/ 03 марта 2012

В моем понимании таблица tbl_TransactionDishout является предложением, и если ее выполнить, запись будет вставлена ​​в tblCustomers;если нет, ничего не изменится.Таким образом, выкупленных сделок является количество несуществующих записей в tblCustomers для данного cardno:

select t.created,
   count(c.field1) Enrolled,
   count(case c.field1 when 'E-mail' then 1 end) Enrolled_as_Email,
   count(case c.field1 when 'Cell Phone' then 1 end) Enrolled_as_Cell,
   count(case when c.field1 is null then 1 end) [Deals Redeemed]
from tbl_TransactionDishout t left join tblCustomer c 
   on t.cardno = c.cardno
group by t.created
order by t.created desc

РЕДАКТИРОВАТЬ: c.created изменено на t.created

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...