[英]Select query from three tables
我有客戶,活動,交易和事實表2。我寫了一個查詢,如下所示
SELECT id,
(select customer.name from customer where customer.id = facts2.customer_id)
AS Customername,
(select campaign.name from campaign where campaign.id = facts2.campaign_id)
AS Campaignname,
(select deal.name from jb_deal where deal.id = facts2.deal_id)
AS Dealname,
revenue
from facts2;
+--------------+-------------+-------------------+----------+ | Customername | Campaignanme | Dealname | revenue | +-------------+-------------+-------------------------------+ | A | Camp1 | Deal1 | 100 | | A | Camp1 | Deal2 | 200 | | A | Camp2 | Deal3 | 300 | | B | CampB | DealB1 | 100 | | B | CampB | DealB2 | 200 | | C | CampC | Deal3 | 300 | +-------------+-------------+--------------------------------+
我想顯示sql表,而無需重復客戶名稱和活動名稱,如下所示。
+--------------+-------------+-------------------+----------+ | customername | campaignanme | dealname | Revenue | +-------------+-------------+-------------------------------+ | A | Camp1 | Deal1 | 100 | | | | Deal2 | 200 | | | Camp2 | Deal3 | 300 | | B | CampB | DealB1 | 100 | | | | DealB2 | 200 | | C | CampC | Deal3 | 300 | +-------------+-------------+--------------------------------+
您將無法像這樣使它仍然可以使用UNION進行不同的輸入。 如果您願意,您可以像這樣
SELECT `result`.`Customername`,`result`.`Campaignname`,
GROUP_CONCAT(`result`.`Dealname`) AS `Dealname`,SUM(`revenue`) AS `revenue` FROM (SELECT id,
(select customer.name from customer where customer.id = facts2.customer_id)
AS Customername,
(select campaign.name from campaign where campaign.id = facts2.campaign_id)
AS Campaignname,
(select deal.name from jb_deal where deal.id = facts2.deal_id)
AS Dealname,
revenue
from facts2) AS `result` GROUP BY `result`.`Campaignname`,`result`.`Customername`;
結果將是這樣的
+--------------+-------------+-------------------+----------+
| Customername | Campaignanme | Dealname | revenue |
+-------------+-------------+-------------------------------+
| A | Camp1 | Deal1,Deal2 | 300 |
| A | Camp2 | Deal3 | 300 |
| B | CampB | DealB1,DealB2 | 300 |
| C | CampC | Deal3 | 300 |
+-------------+-------------+--------------------------------+
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.