समस्या:
किसी तालिका के दो स्तंभों से मानों को गुणा करना चाहते हैं।
उदाहरण:
हमारे डेटाबेस में purchase
निम्नलिखित कॉलम में डेटा के साथ:id
, name
, price
, quantity
, और discount_id
।
id | <थ>नामकीमत | <थ>मात्राडिस्काउंट_आईडी | ||
---|---|---|---|---|
1 | कलम | 7 | 3 | 1 |
2 | नोटबुक | 5 | 8 | 2 |
3 | रबर | 11 | 3 | 1 |
4 | पेंसिल केस | 24 | 2 | 3 |
यह पता लगाने के लिए कि आपने अपने ऑर्डर में प्रत्येक आइटम के लिए कितना भुगतान किया है, आइए उत्पादों की मात्रा से मूल्य गुणा करें।
समाधान:
SELECT name, price*quantity AS total_price FROM purchase;
यह क्वेरी उत्पाद के नाम और उसकी कुल कीमत के साथ रिकॉर्ड लौटाती है:
नाम | कुल_कीमत |
---|---|
पेन | 21 |
नोटबुक | 40 |
रबर | 33 |
पेंसिल केस | 48 |
चर्चा:
क्या आपको प्रत्येक रिकॉर्ड के नाम का चयन करने की आवश्यकता है (हमारे मामले में, name
) और इसके लिए एक संख्यात्मक कॉलम को दूसरे से गुणा करने के परिणाम की गणना करें (price
और quantity
)? आपको बस इतना करना है कि दो गुणक और स्तंभों के बीच गुणन संकारक (*) का उपयोग करें (price
* quantity
) एक साधारण SELECT
. में सवाल। आप इस परिणाम को AS
. के साथ एक उपनाम दे सकते हैं कीवर्ड; हमारे उदाहरण में, हमने गुणन कॉलम को total_price
. का उपनाम दिया है .
ध्यान दें कि आप विभिन्न तालिकाओं से आने वाले दो स्तंभों के डेटा का भी उपयोग कर सकते हैं। हमारे डेटाबेस में एक और टेबल है जिसका नाम है discount
जिसमें id
. नाम के कॉलम हैं और value
; उत्तरार्द्ध दिए गए आईडी के साथ आइटम पर प्रतिशत छूट का प्रतिनिधित्व करता है।
id | मान |
---|---|
1 | 10 |
2 | 20 |
3 | 30 |
नीचे दिए गए उदाहरण को देखें।
समाधान:
SELECT p.name, p.price*p.quantity*(100-d.value)/100 AS total_price FROM purchase p JOIN discount d ON d.id=p.discount_id;
ये रहा परिणाम:
नाम | कुल_कीमत |
---|---|
पेन | 18.90 |
नोटबुक | 32.00 |
रबर | 29.70 |
पेंसिल केस | 33.60 |
जैसा कि आप देख सकते हैं, विभिन्न सम्मिलित तालिकाओं से मूल्यों को गुणा करना काफी आसान है। ऊपर दिए गए हमारे उदाहरण में, हमने एक टेबल से प्रत्येक उत्पाद की कीमत को उसकी मात्रा से गुणा किया (purchase
) और फिर discount
टेबल।