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

MySQL दृश्य:एक परिकलित फ़ील्ड (नाम से) को दूसरे परिकलित फ़ील्ड में संदर्भित करना

चूंकि दृश्यों में उपश्रेणियों की अनुमति नहीं है, इसलिए आपको अनेक दृश्य बनाकर उनका अनुकरण करना होगा।

उदाहरण के लिए, यह क्वेरी सीधे निष्पादित होने पर आपकी समस्या का समाधान करेगी:

SELECT 
    TotalCircles + TotalSquares AS TotalShapes
FROM
    (SELECT 
        BlueCirles + RedCircles AS TotalCircles,
        BlueSquares + RedSquares AS TotalSquares
    FROM
        (SELECT
            2 AS BlueCirles,
            3 AS RedCircles,
            4 AS BlueSquares,
            5 AS RedSquares
        ) AS shapes
    ) as totals;

MySQL प्रलेखन के अनुसार विचारों में FROM खंड में उपश्रेणियों को शामिल करने में सक्षम नहीं होने पर प्रतिबंध है। इस सीमा के आसपास काम करने के लिए और इस क्वेरी को एक दृश्य में बदलने के लिए, इसे 3 दृश्यों (प्रत्येक सबक्वेरी के लिए एक) में विभाजित करें, जिसमें अंतिम फ़ील्ड का वांछित संयोजन दें:

CREATE VIEW shapes AS
SELECT
    2 AS BlueCirles,
    3 AS RedCircles,
    4 AS BlueSquares,
    5 AS RedSquares;

CREATE VIEW totals AS
SELECT 
    BlueCirles + RedCircles AS TotalCircles,
    BlueSquares + RedSquares AS TotalSquares
FROM
    shapes;

CREATE VIEW result AS
SELECT 
    TotalCircles + TotalSquares AS TotalShapes
FROM
    totals;

SELECT * FROM result;


  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. एसक्यूएल अलग, 2 कॉलम प्राप्त करना

  4. PHP स्क्रिप्ट के साथ XML डेटा दिखाने में विफल

  5. django तालिका में AUTOINCREMENT मान सेट करें