2011-10-16 16 views
5

निम्न क्वेरी का उपयोग करते समय, मैं त्रुटि"# 1054 - अज्ञात कॉलम" त्रुटि जब क्वेरी में उपनाम का उपयोग किया जाता है?

#1054 - Unknown column 'plus' in 'field list' 

जब plus-minus प्रयोग किया जाता है मिलता है। अन्यथा, क्वेरी ठीक चलती है। मुझे लगता है कि एलियस से संबंधित कुछ है जो मुझे नहीं पता कि इसका उपयोग कैसे किया जाए। कृपया गाइड करें!

धन्यवाद।

क्वेरी:

SELECT users.name, 
count(*) as total, 
SUM(sms.views)+ SUM(sms.downloads)+ (SELECT count(*) FROM `smsfb` WHERE (`feedback`=1 OR `feedback`=100) AND userid=users.uniqueID) AS plus, 
SUM(sms.delreq)+(SELECT count(*) FROM `smsfb` WHERE (`feedback`=5 OR `feedback`=6) AND userid=users.uniqueID) AS minus, 
plus-minus 
FROM sms,users 
WHERE sms.deviceID=users.uniqueID AND sms.catid!=23 AND sms.catid!=44 AND sms.catid!=45 
AND date>="2011-10-03" AND date<"2011-10-09" 
GROUP BY users.uniqueID HAVING total>10 ORDER BY total DESC LIMIT 0, 10 
+1

क्या आप एसएमएस और उपयोगकर्ता टेबल को डिस्क्रिप्ब कर सकते हैं? –

उत्तर

9

आप क्वेरी के चुनिंदा हिस्से के अंदर एक स्तंभ के अन्य नाम का उपयोग नहीं कर सकते।

आप इस तरह से यह कर सकता है:

SELECT name 
    , total 
    , plus 
    , minus 
    , plus - minus 
FROM (
    SELECT users.name, 
    count(*) as total, 
    SUM(sms.views)+ SUM(sms.downloads)+ (SELECT count(*) FROM `smsfb` WHERE  (`feedback`=1 OR  `feedback`=100) AND userid=users.uniqueID) AS plus, 
    SUM(sms.delreq)+(SELECT count(*) FROM `smsfb` WHERE (`feedback`=5 OR `feedback`=6)  AND  userid=users.uniqueID) AS minus 
    FROM sms,users 
    WHERE sms.deviceID=users.uniqueID 
     AND sms.catid!=23 AND sms.catid!=44 
     AND sms.catid!=45 
     AND date>="2011-10-03" AND date<"2011-10-09" 
    GROUP BY users.uniqueID HAVING total>10 ORDER BY total DESC 
    LIMIT 0, 10 
) plusAndMinus 

से Problems with Column Aliases:

को समूह द्वारा आदेश देकर या होने खंड में अन्य नाम का उपयोग कर सकते हैं स्तंभ को संदर्भित करने के लिए

+0

अभी भी वही त्रुटि है! (पीएल एनटी .: मैंने आपकी क्वेरी को कॉपी-पेस्ट किया है) – BufferStack

+0

क्षमा करें @ टाजर, मैं आंतरिक क्वेरी में 'प्लस-माइनस' को मिटाना भूल गया। अब इसे आजमाओ। – DavidEG

+0

धन्यवाद! बहुत मददगार ... कुछ नया सीखा जो बार-बार जरूरी है! – BufferStack

संबंधित मुद्दे