Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

समान चयन खंड में कॉलम उपनाम का उपयोग करना

नहीं, उपनामों को संदर्भित करने का कोई तरीका नहीं है, लेकिन आप एक चर के लिए अभिव्यक्ति निर्दिष्ट कर सकते हैं, और फिर उसी चयन खंड में चर को संदर्भित कर सकते हैं।

एक सेलेक्ट स्टेटमेंट के अंदर वेरिएबल असाइनमेंट हमेशा इंफिक्स ऑपरेटर द्वारा किया जाता है := . *एक SET में कथन, यह या तो = हो सकता है या :=

जैसे

SELECT 
    ord_id
  , candy_id
  , price
  , quantity
  , @exc_cost := price * quantity AS exc_cost
  , @exc_cost * @tax_rate AS my_favourite_field
...
<FROM CLAUSE>

आप सशर्त रूप से परिवर्तनीय असाइनमेंट भी कर सकते हैं।

जैसे

IF(quantity > 90, 
     @exc_cost := price * quantity * 0.95
   , @exc_cost := price * quantity) AS exc_cost

नोट 1:कुल उपायों और समूह दर खंड के अभाव में, चर का मूल्यांकन कॉलम क्रम के अनुसार किया जाता है:

SELECT @t, @t+2 FROM (SELECT @t := 1) a

उत्पादन करता है

@t   @t+2
 1      3


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मेल खाने वाले टैग वाले सभी प्रोजेक्ट चुनें

  2. एक MySQL क्वेरी में लगातार यादृच्छिक क्रम

  3. पहला लॉगिन:HTTP स्थिति 500 ​​- अनुरोध प्रसंस्करण विफल; नेस्टेड अपवाद है org.springframework.transaction.CannotCreateTransactionException

  4. अशक्त पंक्तियों के लिए पिछला मान प्राप्त करें

  5. डेटाबेस में रेडीस्टेटमेंट के साथ पंक्ति डालें