ถ้าเลือกเฉพาะ BWART = '101' ก็ใช้
select EBELEN, EBELP, VGABE, GJAHR, First(BELNR), First(BUZEI), First(BEWTP), First(BWART)
from ชื่อเทเบิล
where VGABE <> '2' and BWART = '101'
group by EBELEN, EBELP, VGABE, GJAHR
แต่ถ้าเราใช้เกณฑ์ว่า ถ้าเจอค่า '101' ก็ให้เลือกเป็นลำดับแรก ส่วนค่าอื่นๆ ไม่ว่าจะมากกว่าหรือน้อยกว่า '101' จะเลือกตัวไหนมาก็ได้ อย่างนี้ถ้าใช้ SQL ล้วนๆตามข้างล่าง ผมไม่แน่ใจว่าผลลัพธ์จะได้ออกมาตามต้องการหรือไม่ เพราะมันไม่มีการกำหนดลำดับจัดเรียง ต้องทดสอบด้วยข้อมูลเยอะๆเอาเองครับ
select EBELEN, EBELP, VGABE, GJAHR, First(BELNR), First(BUZEI), First(BEWTP), First(BWART)
from (
select *
from ชื่อเทเบิล
where VGABE <> '2' and BWART = '101'
union all
select *
from ชื่อเทเบิล
where VGABE <> '2'
)
group by EBELEN, EBELP, VGABE, GJAHR
หมายเหตุ : ทั้งหมดยังไม่ได้ทดสอบนะครับ อาจมี syntax error