दिलचस्प पोस्ट
JQuery मॉडल बॉक्स और आइफ्रेम कैरेक्टर क्लास घटाव, जावा वाक्यविन्यास से रेगेक्सबुड्डी में परिवर्तित MySQL केवल एक पंक्ति देता है पीएचपी टर्नेरी ऑपरेटर बनाम स्विच स्टेटमेंट बनाम आईएफएफएफ़ … जो मुझे इस्तेमाल करना चाहिए? सबडोमेन और डोमेन के बीच कुकी साझा करें AngularJS में ऑप्शन प्रीफलाइट अनुरोध को कैसे छोड़ें Http त्रुटि 503। सेवा अनुपलब्ध है जो @NotNull जावा एनोटेशन मैं उपयोग करना चाहिए? क्या दो सूचियों को ठीक करना संभव है (जो एक-दूसरे का संदर्भ है) ठीक उसी तरह से? आप पहले से ही निर्मित वर्चुअलवेव में अपने अजगरपथ को कैसे सेट करते हैं? डीएओ और रिपॉपीटरी पैटर्न के बीच अंतर क्या है? मैं अक्षांश और अक्षांश बिंदु से शहर का नाम कैसे प्राप्त करूं? PHP रूट निर्देशिका में एक txt फ़ाइल बनाएँ और सहेजें अपने स्वयं के (आशय) से एक अन्य अनुप्रयोग खोलें ब्लैकबेरी – एनीमेशन के साथ स्क्रीन लोड हो रहा है / रुको

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

SELECT id, amount FROM report 

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

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

 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