दिलचस्प पोस्ट
मैं एक सबप्रोसेस से कैसे 'वास्तविक-समय' सूचना वापस प्राप्त कर सकता हूं। पायथन में पॉपिन (2.5) क्या कोई एर्लांग में पिड की संरचना समझा सकता है? अजैक्स पोस्ट अनुरोध के साथ असफल रहने के लिए Django CSRF की जांच SpannableStringBuilder कई फोंट / पाठ आकार आदि के साथ स्ट्रिंग बनाने के लिए उदाहरण? मैं एक बुलियन को AsyncTask से कैसे वापस करूँ? एंड्रॉइड SQLite डाटाबेस, क्यों ड्रॉप टेबल और उन्नयन पर विश्राम उच्च गुणवत्ता वाली छवियों के साथ कैनवास निर्यात करने का सर्वोत्तम अभ्यास क्या है? कोर डेटा के साथ Enums को कार्यान्वित करने का सर्वोत्तम तरीका सी # स्थिर सदस्य "उत्तराधिकार" – यह सब क्यों मौजूद है? PHP एसपीएल रिकर्सिव डायरेक्टरीआइटरेटर रिकर्सिवइटरेटरइटरेटर पूर्ण पेड़ को पुनः प्राप्त कर रहा है इकाई ढांचा में बल्क डालें प्रदर्शन को सुधारना एंड्रॉइड में कम्पास के बियरिंग / प्लेसमेंट की गणना करें URL को मान्य करने के लिए जावास्क्रिप्ट नियमित अभिव्यक्ति समारोह घोषणा "उप समारोह ($ $)" क्या मतलब है? जावा: स्विंग पुस्तकालय और थ्रेड सुरक्षा

'यदि' में 'चयन' कथन – स्तंभ मूल्यों के आधार पर आउटपुट मान चुनें

SELECT id, amount FROM report 

रिपोर्ट की तरह मुझे amount की ज़रूरत है अगर रिपोर्ट। प्रकार report.type='P' -amount अगर -amount report.type='N' मैं इसे उपरोक्त क्वेरी में कैसे जोड़ूं?

वेब के समाधान से एकत्रित समाधान "'यदि' में 'चयन' कथन – स्तंभ मूल्यों के आधार पर आउटपुट मान चुनें"

 SELECT id, IF(type = 'P', amount, amount * -1) as amount FROM report 

http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html देखें।

इसके अतिरिक्त, जब स्थिति नल है तब आप इसे संभाल सकते हैं। एक रिक्त राशि के मामले में:

 SELECT id, IF(type = 'P', IFNULL(amount,0), IFNULL(amount,0) * -1) as amount FROM report 

भाग IFNULL(amount,0) मतलब है कि राशि शून्य की वापसी राशि नहीं है और वापसी 0 है

case स्टेटमेंट का प्रयोग करें:

 select id, case report.type when 'P' then amount when 'N' then -amount end as amount from `report` 
 SELECT CompanyName, CASE WHEN Country IN ('USA', 'Canada') THEN 'North America' WHEN Country = 'Brazil' THEN 'South America' ELSE 'Europe' END AS Continent FROM Suppliers ORDER BY CompanyName; 
 select id, case when report_type = 'P' then amount when report_type = 'N' then -amount else null end from table 

सबसे सरल तरीका है IF () का उपयोग करना हां माइस्क्ल आपको सशर्त तर्क करने की अनुमति देता है। यदि फ़ंक्शन 3 पैरामीटर की स्थिति लेता है, सच्चे परिणाम, गलत परिणाम।

तो तर्क है

 if report.type = 'p' amount = amount else amount = -1*amount 

एसक्यूएल

 SELECT id, IF(report.type = 'P', abs(amount), -1*abs(amount)) as amount FROM report 

आप abs () को छोड़ सकते हैं यदि सभी न केवल हैं

 SELECT id, amount FROM report WHERE type='P' UNION SELECT id, (amount * -1) AS amount FROM report WHERE type = 'N' ORDER BY id; 

आप यह भी कोशिश कर सकते हैं

  Select id , IF(type=='p', IFNULL(amount,0), IFNULL(amount,0) * -1) as amount from table 

यह एक कोशिश करो

  SELECT id , IF(report.type == 'p', IFNULL(amount,0), IFNULL(amount,0) * -1) as amount FROM report