ऐसा लगता है कि यह मेरे द्वारा किए गए एक त्वरित परीक्षण से काम करता है और x=1
के अस्तित्व की जांच करने की आवश्यकता से बचा जाता है दो बार।
SELECT SQL_CALC_FOUND_ROWS *
FROM mytable
WHERE x = 1
UNION ALL
SELECT *
FROM mytable
WHERE
FOUND_ROWS() = 0 AND x = 2;
संपादित करें:प्रश्न के लिए आपके स्पष्टीकरण के बाद स्पष्ट रूप से उपरोक्त काम करने के लिए 2 प्रश्नों को यूनियन संगत होने की आवश्यकता होगी।
आपके अद्यतन प्रश्न का उत्तर नहीं है। यह एक प्रश्न में संभव नहीं है। आपको कुछ सशर्त प्रक्रियात्मक तर्क का उपयोग करने की आवश्यकता होगी। वांछित क्वेरी निष्पादित करने के लिए।