आपको ऐसा करने की ज़रूरत नहीं है, आप कुछ ऐसा करके इससे निजात पा सकते हैं
SELECT *
FROM [Query]
WHERE (@Parameter = 1 AND Column1 = 8)
OR (@Parameter = 2 AND Column2 = 8)
OR (@Parameter = 3 AND Column3 = 8)
हालाँकि, सिर्फ इसलिए कि आप कुछ कर सकते हैं, इसका मतलब यह नहीं है कि आपको करना चाहिए। कम वर्बोज़ SQL का मतलब बेहतर प्रदर्शन नहीं है, इसलिए कुछ इस तरह का उपयोग करना:
IF @Parameter = 1
BEGIN
SELECT *
FROM [Query]
WHERE Column1 = 8
END
ELSE IF @Parameter = 2
BEGIN
SELECT *
FROM [Query]
WHERE Column2 = 8
END
ELSE IF @Parameter = 3
BEGIN
SELECT *
FROM [Query]
WHERE Column3 = 8
END
जबकि पहली क्वेरी के समकक्ष बेहतर प्रदर्शन में परिणाम होना चाहिए क्योंकि इसे बेहतर तरीके से अनुकूलित किया जाएगा।