本例可檢視erp租賃訂單模組。
題目:要求查詢以下資料,其**庫總數和簽收總數均為從表。
關係:(租賃訂單和出庫單(1:n),出庫單和簽收單(1:1))
因為一對多的關係,所以出庫單中一定存有租賃單的單號。
目的:我們想通過乙個sql將以下資料和出庫總數丶簽收總數一起查出。
那麼我們可以使用連線子查詢的方式得出,出庫和簽收總數。
列:select *,delivery_order2 .outbound_total_quantity
from lease_order
left join enum e on lease_order.status
= e.no
left join enum ee on lease_order.type = ee.no
left join client on lease_order.client_no = client.no
left join agent on agent.no
= lease_order.agent_no
left join enum eee on lease_order.lease_form = eee.no
left join enum eeee on lease_order.business_type = eeee.no
left join enum eeeee on lease_order.recycling_from = eeeee.no
left joinuser
u on lease_order.create_id = u.id
left joinuser
uu on lease_order.audit_id = uu.id
left join (
select
delivery_order.source_no,
sum(
outbound_order.outbound_total_quantity
) as outbound_total_quantity
from
delivery_order
left join outbound_order on delivery_order.no
= outbound_order.source_no
group by delivery_order.source_no
) as delivery_order2 on delivery_order2.source_no = lease_order.no
通過以上方式就可以將每一條租賃單對應的所有出庫單的總數查詢出來,簽收單同理!
(其中注意,要使用分組,否則得出的聚合函式將會是關聯查詢得出的全部出庫單的出庫數量總和,因為我們想要的是每一條租賃訂單下面的所有出庫的綜合,所以我們就可以按照出庫單中的租賃單號分組。)
目的:查詢指定租賃訂單下的每條明細下的出庫數量的總和。
(這裡可以採用笨方法,就是先將明細單的其他屬性查詢出來,空於出庫數量不查。然後再**中迴圈遍歷剛得到的明細list,迴圈內每次只查詢一條明細對應的出庫數量然後再賦值即可,)
思路根據銷售單號和sku查詢出該明細單下的所有出庫單明細的數量,然後再求綜合。
MySQL多張表關聯查詢
工作中遇到的問題,其實也不算難,最多算是複雜了一丟丟。有四張表,a,b,c,d 假設 a 商戶表,有欄位code b 商戶普通使用者表,也有字段code ps code是關聯著三張表的重要字段 c 商戶會員表,沒有與其關聯的code,但是有card code欄位與d表中的card code關聯 d ...
mysql關聯查詢去重 MySQL 關聯查詢
mysql 關聯查詢 sql資料分析 1週前 mysql 關聯查詢 前面,我們介紹的都是單錶查詢 就是只從一張表中獲取資料 而實際應用的時候,我們都會同時查詢多張表,這裡,我們就介紹下,多表關聯查詢的使用。sql join 用於根據兩個或多個表中的列之間的關係,從這些表中查詢資料 前置知識 主鍵 p...
表關聯查詢
一 內連線和外連線 內連線用於返回滿足連線條件的記錄 而外連線則是內連線的擴充套件,它不僅會滿足連線條件的記錄,而且還會返回不滿足連線條件的記錄,語法如下 oracle 1.select table1.column,table2.column from table1 inner left right...