WHERE
(id_per = id_per) AND (เดือน = @lbb_month) OR
(id_per = id_per) AND (ปี = @lbb_year) OR
(id_per = id_per) AND (ประเภท = @lbb_typeRM) OR
(id_per = id_per) AND (สิ่งที่เกิดขึ้น = @lbb_detailevent) OR
(id_per = id_per) AND (สิ่งที่เกิดขึ้น = @lbb_detailevent AND (ระดับ = @lbb_level) OR
(id_per = id_per) AND (ประเภท = @lbb_typeRM) AND (สิ่งที่เกิดขึ้น = @lbb_detailevent) OR
(id_per = id_per) AND (ประเภท = @lbb_typeRM) AND (สิ่งที่เกิดขึ้น = @lbb_detailevent) AND (ระดับ = @lbb_level)
เช่น เมื่อผมเลือกตามเงื่อนไข
(id_per = id_per) AND (สิ่งที่เกิดขึ้น = @lbb_detailevent AND (ระดับ = @lbb_level)
แต่ค่าที่ได้ มาจาก
(id_per = id_per) AND (สิ่งที่เกิดขึ้น = @lbb_detailevent)
AND OR มันเยอะเหลือเกิน ผมว่า ที่มันมาทุกระดับนั้นเป็นเพราะ เงื่อนไขที่เชื่อมด้วย Or ของคุณนั่นแหละครับ
มันมาเจอ OR ถ้ามันเป็นจริงมันก็เอามาหมดหละครับ เพราะเชื่อมด้วยหรือ
WHERE
( (id_per = id_per) AND (เดือน = @lbb_month) )
OR
( (id_per = id_per) AND (ปี = @lbb_year) )
OR
( (id_per = id_per) AND (ประเภท = @lbb_typeRM) )
OR
( (id_per = id_per) AND (สิ่งที่เกิดขึ้น = @lbb_detailevent) )
OR
( (id_per = id_per) AND (สิ่งที่เกิดขึ้น = @lbb_detailevent AND (ระดับ = @lbb_level) )
OR
( (id_per = id_per) AND (ประเภท = @lbb_typeRM) AND (สิ่งที่เกิดขึ้น = @lbb_detailevent) )
OR
( (id_per = id_per) AND (ประเภท = @lbb_typeRM) AND (สิ่งที่เกิดขึ้น = @lbb_detailevent) AND (ระดับ = @lbb_level) )
WHERE
(id_per = id_per) AND
(
เดือน = @lbb_month
OR ปี = @lbb_year
OR ประเภท = @lbb_typeRM
OR สิ่งที่เกิดขึ้น = @lbb_detailevent
OR (สิ่งที่เกิดขึ้น = @lbb_detailevent AND ระดับ = @lbb_level )
OR ( ประเภท = @lbb_typeRM AND สิ่งที่เกิดขึ้น = @lbb_detailevent )
OR ( ประเภท = @lbb_typeRM AND สิ่งที่เกิดขึ้น = @lbb_detailevent AND ระดับ = @lbb_level )
)
แต่บอกตรงๆ ครับ งง กับ สิ่งที่ต้องการ
แบบ
OR ประเภท = @lbb_typeRM
OR ( ประเภท = @lbb_typeRM AND สิ่งที่เกิดขึ้น = @lbb_detailevent )
OR ( ประเภท = @lbb_typeRM AND สิ่งที่เกิดขึ้น = @lbb_detailevent AND ระดับ = @lbb_level )
มัน เหลือบันทัดบนบันทัดเดียว ก็พอมั้งครับ
มี
เดือน = @lbb_month
OR ปี = @lbb_year
OR ประเภท = @lbb_typeRM
OR สิ่งที่เกิดขึ้น = @lbb_detailevent
สี่บันทัดนี้ที่มีความแตกต่างกัน สามารถตรวจสอบด้วยการ or ได้ แบบไม่ซ้ำซ้อน แต่ที่เหลือมันรซ้ำซ้อนกัน แทบจะแสดงออกมาทุกรายการ
โดยไม่ต้องเปรียบเทียบเลยนะครับ