sử dụng tổng hợp thay vì truy vấn con:
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
Tôi không biết bạn sử dụng RDBMS nào, vì vậy trường hợp case when
cấu trúc có thể phải được sửa đổi thành phương ngữ địa phương của bạn. Cái này phải hợp lệ cho MSSQL
CẬP NHẬT:Kính của tôi không hoạt động bình thường và vì vậy tôi không nhận thấy thẻ ORACLE. Đang bắt đầu ...