我想看看值"PS_BA"或"PS_BS"是否在字段列表中:
以下是我如何用一堆OR语句来完成它的。
有没有更好/更有效的方法来做到这一点(尤其是当列表更长时(?
SELECT *
FROM TABLE
WHERE
( ACAD_PLAN_CD in ('PS_BS','PS_BA')
OR ACAD_PLAN_CD_2 in ('PS_BS','PS_BA')
OR ACAD_PLAN_CD_3 in ('PS_BS','PS_BA')
OR ACAD_PLAN_CD_4 in ('PS_BS','PS_BA')
OR ACAD_PLAN_CD_5 in ('PS_BS','PS_BA'))
您可以将查询重新表述为:
SELECT *
FROM yourTable
WHERE 'PS_BS' IN (ACAD_PLAN_CD, ACAD_PLAN_CD_2, ACAD_PLAN_CD_3,
ACAD_PLAN_CD_4, ACAD_PLAN_CD_5) OR
'PS_BA' IN (ACAD_PLAN_CD, ACAD_PLAN_CD_2, ACAD_PLAN_CD_3,
ACAD_PLAN_CD_4, ACAD_PLAN_CD_5);