sql - Retrieve Next Purchase Order Due and Price from that Order -
मेरे पास ऐसा खरीद ऑर्डर तालिका है:
+ ------ --------- + ------------ + --------- + ---------- + ------ - + | खरीदऑर्डर | देय तिथि | उत्पाद | मात्रा | मूल्य | + --------------- + ------------ + --------- + ---------- + ------- + | PO1 | 04/12/2014 | ए | 20 | 19 | | पीओ 2 | 20/11/2014 | बी | 16 | 22 | | पीओ 3 | 07/11/2014 | ए | 14 | 32 | | PO4 | 09/12/2014 | बी | 7 | 86 | + --------------- + ------------ + --------- + ---------- + ------- +
मैं प्रत्येक उत्पाद के लिए मात्रा का योग करने के लिए एक क्वेरी चाहूंगा, अगले नियत दिनांक को प्रदर्शित करता हूं, और उस खरीद आदेश से मूल्य प्रदर्शित करता हूं अगले कारण।
वांछित आउटपुट होगा:
+ --------- + ------------- - + -------------- + ------------------ + | उत्पाद | कुल मुक्ति | NextDueDate | NextDueDatePrice | + --------- + --------------- + -------------- + -------- ---------- + | ए | 34 | 07/11/2014 | 32 | | बी | 23 | 20/11/2014 | 22 | + --------- + --------------- + -------------- + -------- ---------- +
बिट मैं नहीं जानता कि कैसे करना है (सबसे कारगर तरीके से) NextDueDatePrice प्राप्त करना है!
< P> मैंने एक SQLFiddle सेटअप किया है जो कि सभी करता है लेकिन वह कॉलम यदि यह मदद करता है:किसी भी मदद के लिए पहले से बहुत धन्यवाद!
उप-कुंडली पद्धति का उपयोग:
एमएस एसक्यूएल सर्वर 2008 स्कीमा सेटअप :
<प्री> बनाओ टैब खरीद ऑर्डर (खरीद ऑर्डर वर्चार (255), डेट डेट, टाइम टाइम, उत्पाद varchar (255), मात्रा इंट, प्राइस इंट,); खरीद ऑर्डर के मूल्यों में INSERT ('पीओ 1', '2014-12-04', 'ए', 20, 1 9); खरीद ऑर्डर के मूल्यों में INSERT ('पीओ 2', '2014-11-20', 'बी', 16,22); खरीदऑर्डर्स वैल्यू में INSERT ('पीओ 3', '2014-11-07', 'ए', 14,32); खरीदऑर्डर्स वैल्यू में INSERT ('पीओ 4', '2014-12-09', 'बी', 7, 86);
प्रश्न 1 :
SELECT उत्पाद, SUM (मात्रा) के रूप में कुल मूल्य, MIN (DueDate) AS NextDue, (Select
से खरीदें PurchaseOrders p2 से मूल्य जहां p2.Product = p1.Product और p2.DueDate = MIN (p1.DueDate)) :
<पूर्व> | PRODUCT | TOTALQUANTITY | NEXTDUE | NEXTPRICE | | --------- | --------------- | ----------------------- ---------- | ----------- | | ए | 34 | नवंबर, 07 2014 00: 00: 00 + 0000 | 32 | | बी | 23 | नवंबर, 20 2014 00: 00: 00 + 0000 | 22 |
Comments
Post a Comment