分配的任務,讓我寫兩個查詢語句,有點方,畢竟數據庫只會簡單的查詢
幸好有強大的團隊!
1.查詢有多少個用戶參加活動(涉及的表有marketing,marketing_success)
marketing表有code='201601003'
marketing_success 有 marketing_id
做一個簡單的左連接查詢
select count(*)
from marketing_success ms left join
marketing m on ms.marketing_id=m.id
where m.code='201601003';
本來是
select count(*)
from marketing_success ms ,
marketing m
where m.code='201601003' and ms.marketing_id=m.id;
後來我一個同事看到之後很驚奇還有人這樣寫連接,好吧,雖然我知道左連接,但是基本上不會去用它,看來要改了這毛病
2.已經使用過優惠券的訂單總數(purchase_order,purchase_order_gift,gift,marketing_success)
gift(source==marketing_success.id,source_type=2)
select count(*)
from purchase_order_gift pog
left join gift g
on pog.gift=g.id
where g.source_type=2 and exists (select 1 from marketing_success ms where g.source = ms.id and ms.marketing_id = 29) ;
查詢第29和訂單的使用優惠券的數量
如果存在exists這麼一個活動的話,exists函數裏的連接就成立。。。