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