2012-03-19 76 views
0

我怎樣才能獲得這些線(同線最小運行,它並不總是2):SQL - 選擇最小的排

enter image description here

從這個?

enter image description here

這是我的選擇:

select SCR.order_number, SCR.product_code, REL.operation, REL.quantity 
from scrDATA as SCR INNER JOIN 
    relBDE as REL ON SCR.order_number = REL.order_number 

我需要算一件爲ORDER_NUMBER和產品代碼(例如,1500個爲order_numberFA36001607和5個爲order_numberFP7201127

+0

您正在使用哪個數據庫管理系統? – 2012-03-19 14:50:18

+0

Yuck:啊哈,每個表relBDE和scrDATA都有他們的主要ID – gaffcz 2012-03-19 14:54:58

+0

@Yuck - 我不認爲你提到的行是相同的。它們之間的product_code是不同的。 – 2012-03-19 14:55:18

回答

1

喜歡的東西:

select SCR.order_number, SCR.product_code, REL.operation, SUM(REL.quantity) 
FROM scrDATA as SCR 
INNER JOIN relBDE as REL ON SCR.order_number = REL.order_number, 
(SELECT SCR2.order_number, MIN(REL2.operation) AS operation 
       FROM scrDATA as SCR2 
       INNER JOIN relBDE as REL2 ON SCR2.order_number = REL2.order_number 
       GROUP BY SCR2.order_number) AS SCR_OP 
WHERE SCR.order_number = SCR_OP.order_number 
    AND SCR.operation = SCR_OP.operation 
GROUP BY SCR.order_number, SCR.product_code, REL.operation 
+0

這就是我需要的,謝謝你:-) – gaffcz 2012-03-19 15:18:30

+0

不客氣。 – 2012-03-19 15:19:40

1

似乎像這樣會工作:

select SCR.order_number, SCR.product_code, MIN(REL.operation), REL.quantity 
from scrDATA as SCR INNER JOIN 
    relBDE as REL ON SCR.order_number = REL.order_number 
GROUP BY SCR.order_number, SCR.product_code, REL.quantity 
1

認爲這是你需要查詢:

select SCR.order_number, SCR.product_code, REL.operation, REL.quantity 
from scrDATA as SCR 
INNER JOIN relBDE as REL ON SCR.order_number = REL.order_number 
where REL.operation = 
    (select MIN(REL.operation) 
    from scrDATA as SCR 
    INNER JOIN relBDE as REL ON SCR.order_number = REL.order_number)