mysql - Why can i sort an inline SELECT value but not use it in a WHERE clause? -
मेरे पास यह छोटा एसक्यूएल क्वेरी है।
SELECT a.`id`, a। `शीर्षक`, ए 'डीटी`, (चयन से अधिकतम MAX (ग्रेड), जहां यूजरआईड = 41 और प्रेसिड = ए.आईडी``) प्रस्तुतियों से ग्रेड के रूप में एएचएआरए ए।' दृश्य '= 1 और' ग्रेड ' & Gt; = 5 आदेश द्वारा `ग्रेड` डीईएससी यह मुझे त्रुटि देता है
1054 - 'कलम' में अज्ञात स्तंभ 'ग्रेड'
लेकिन अगर मैं दूसरी अंतिम पंक्ति को निकालता हूं, तो यह ठीक काम करता है। मैंने और a.grade करने की कोशिश की है और यहां तक कि टेस्ट टेबल को एक नाम दें और उस नाम को ग्रेड में जोड़ दें लेकिन फिर भी कोई भाग्य नहीं।
मैं इस इनलाइन क्वेरी को कैसे उपयोग कर सकता हूं एक कहां खंड?
मैंने पाया है कि यह काम करता है, लेकिन क्या यह एकमात्र तरीका है?
SELECT a.`id`, a.`title`, a `तिथि`, (परीक्षणों से चयन MAX (ग्रेड), जहां यूजरआईड = 41 और प्रेसिड = ए.आईडी``) ग्रेड से 'प्रस्तुतियों' से एक एएचएआरए। 'दृश्य' = 1 और (चुनें MAX (ग्रेड) परीक्षणों से कहाँ Userid = 41 और presid = a.`id`) & gt; = 5 आदेश द्वारा 'ग्रेड' डीईएससी
तो आप जो SELECT-clause में परिभाषित करते हैं, वे कहां-खंड में उपलब्ध नहीं हैं आपको उस बाधा को एक HAVING- खंड में डाल देना होगा:
SELECT a.`id`, a.`title`, a.`date`, (परीक्षण से चुनें MAX (ग्रेड)) जहां यूजरआईड = 41 और प्रेसिड = ए। `आईडी`` प्रस्तुतीकरण से एक ग्रेड 'WHERE ए' 'विज़िबल` = 1 हेविंग` ग्रेड' & gt; = 5 ऑर्डर 'ग्रेड' डीईएससी
Comments
Post a Comment