มีตารางที่มี 3 คอลัมน์:
ID category flag
1 A 1
2 A 0
3 A 0
4 B 0
5 C 0
ฉันต้องการเลือกแถวทั้งหมดที่มีflag = 1
อย่างน้อยหนึ่งครั้งต่อหมวดหมู่
ผลลัพธ์ที่คาดหวัง:
ID category flag
1 A 1
2 A 0
3 A 0
สามารถแก้ไขได้โดยใช้ตารางชั่วคราวเช่นนี้
select ID into #tempTable from someTable where flag = 1
select * from someTable join #tempTable on someTable.ID = #tempTable.ID
แต่ฉันต้องการทางออกสำหรับการจัดกลุ่มซึ่งฉันพยายามหาวิธี ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม.