[SQL] ขอคำสั่งลบข้อมูลหน่อยครับ

สมมติมีข้อมูลแบบนี้นะครับ

Sty     Sbal
A      100
B      100
C      100
A      -50
B      -50
C      -50
A      -50

เงื่อนไขคือถ้ายอดรวมเท่ากับ 0 แล้ว ให้ลบออกทุก Record

ถ้าตามตัวอย่างที่ให้มาต้องลบ Record A ออกทั้งหมด

ตอนนี้ใช้วิธีนี้อยู่

แต่คิดว่าน่าจะมีวิธีที่สั่งครั้งเดียวลบได้เลย

               Set Rs0 = Db0.OpenRecordset("select sty,sum(sbal) as sbal1 from tab1 group by sty")
                    If Not (Rs0.BOF Or Rs0.EOF) Then
                     Rs0.MoveLast: Rs0.MoveFirst
                     Do While Not Rs0.EOF
                          If Rs0("sBal1") = 0 Then
                               Db0.Execute "delete from tab1 where sty = '" & Rs0("Sty") & "'"
                          End If
                          Rs0.MoveNext
                     Loop
                    End If



ขอบคุณครับ
คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 1
delete Table_Test where sty in
(select sty from Table_Test group by sty having sum(sbal) = 0)
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่