उपश्रेणियों के बजाय समुच्चय का उपयोग करें:
select distinct controlid,
max (case when a=3 and b=13 and c=0 and d= 0 then OrderNo end) as colA,
max (case when a=2 then OrderNo end) as colB,
max (case when a=1 and b=14 and e=1 then OrderNo end) as colC,
max (case when a=3 and b=13 and e=1 and c=0 and d=0 then OrderNo end) as colD,
max (case when OrderNo=#param2# then a end) as colE
from my_table
where controlid = #param1#
group by controlid
मैं नहीं जानता कि आप किस RDBMS का उपयोग करते हैं, इसलिए case when
निर्माण को आपकी स्थानीय बोली में संशोधित करना पड़ सकता है। यह MSSQL के लिए मान्य होना चाहिए
अद्यतन:मेरा चश्मा ठीक से काम नहीं करता है और इसलिए मैंने ओरेकल टैग को नोटिस नहीं किया। शर्मनाक...