2014-09-26 56 views
0

我有6個表格,其中3個是我需要在我的表格中顯示的,另外3個是我需要隱藏在同一個表格中的。如何僅顯示一個表的ID並且不要與其他表重複?

報告:

id name branch comp_id start_date end_date 
100 A  001  011  2022-08-14 2022-08-14 
200 B  002  012  2022-08-14 2022-08-14 

報告的詳細信息:

id product_id product_code price deliveries 
100 01   11    20.00 10 
100 01   11    20.00 10 
200 01   11    20.00 20 
200 02   12    25.00 20 

產品:

id code name  
01  11  Prod 1 
02  12  Prod 2  

產品詳細信息:

id code name  Desc 
01  11 Prod 1 Desc 1 
02  12 Prod 2 Desc 2 

分行:

id code name  
001 021 Branch 1 
002 022 Branch 2  

公司:

id name  branch 
011 Company 1 021 
012 Company 2 022 

我所要的輸出是這樣的:

ID:將來自報告表 branch_name:將使用來自分支表報表中的分支 company_name:使用報表中的comp_id來公司 product_name:將來自產品表中使用product_id的報表詳情表 說明:將來自報告表 END_DATE:將在報告的詳細信息表 起始日期使用PRODUCT_CODE來自product_details表將來自報告表

id branch_name company_name product_name description start_date end_date 
100 branch 1  Company 1  Prod 1   Desc 1   2022-08-14 2022-08-14 
200 branch 2  Company 2  Prod 1   Desc 1   2022-08-14 2022-08-14 
200 branch 2  Company 2  Prod 2   Desc 2   2022-08-14 2022-08-14 

我有這樣的SQL,這一切顯示了報告的詳細信息,ID表:

SELECT *, `acc`.`name` AS `cname`, `out`.`name` AS `outname`, `pro`.`name` AS `pname`, `prod`.`name` AS `sname` 
FROM `report` AS `rep` 
JOIN `companies` AS `acc` ON `rep`.`account_id`=`acc`.`code` 
JOIN `branches` AS `out` ON `rep`.`outlet_id`=`out`.`code` 
JOIN `report_details` AS `red` ON `rep`.`report_id`=`red`.`report_id` 
JOIN `products` AS `pro` ON `red`.`product_id`=`pro`.`id` 
JOIN `product_details` AS `prod` ON `red`.`sku_id`=`prod`.`id` 
+0

也許使用http://sqlfiddle.com/發佈一個例子,這樣既喲你和其他人可以嘗試現有的模式 – Luke 2014-09-26 06:54:16

回答

1

試試這個:

SELECT R.id, B.name AS branch_name, C.name AS company_name, PD.product_name AS product_name, PD.Desc AS description, R.start_date 
FROM Report R 
LEFT JOIN report_details RD ON R.id = R.id 
LEFT JOIN products P ON RD.product_id = P.id 
LEFT JOIN product_details PD ON PD.product_id = PD.id 
LEFT JOIN branches B ON R.branch = B.id 
LEFT JOIN companies C ON R.comp_id = C.id 
GROUP BY R.id, B.name, C.name, PD.product_name, PD.Desc, R.start_date 
+0

它沒有工作。 – user3771102 2014-09-26 08:31:11

相關問題