我将进行编辑,因此不会将其归类为副本。
我想将XA.XA_REASON_CODE用于类似语句的条件,以确定我是否会使用某个条件。
如果XA.XA_REASON_CODE = EH
,那么我将不会使用AND HOLDFLAG != 'R'
。否则在我加入的条件中使用AND HOLDFLAG != 'R'
。
SELECT
I.DATERELEASED,
XA .XA_REASON_CODE,
FROM
FEPC.EWHITEBOARD AS EWB
LEFT JOIN FEPC.EWHITEBOARD_XA XA ON EWB.EWHITEBOARD_ID = XA .EWHITEBOARD_ID
LEFT JOIN(
SELECT
DATERELEASED
FROM
HOURLY_FT_WIP.CACHE_IRAC_HOLD_LOTS
WHERE
LOTNUM IN(
'SAKZ3A024B',
'JS61DA009G'
)
if(XA.XA_REASON_CDOE = 'EH') THEN
#nothing
else then
AND HOLDFLAG != 'R'
)AS I ON I.LOTNUM = PRODUCTIONORDERID
答案 0 :(得分:0)
您可以使用逻辑and
和or
运算符的组合来实现此行为:
SELECT
LASTNAME, FIRSTNAME, SEX, AGE, CODE
FROM
tblInfo
WHERE
AGE > 20 AND
((SEX = 'M' AND CODE = 'X') OR (SEX != 'M' AND CODE = 'Y'))
答案 1 :(得分:0)
是的,可以使用CASE
:
SELECT
LASTNAME, FIRSTNAME, SEX, AGE, CODE
FROM
tblInfo
WHERE
AGE > 20
AND CODE = CASE WHEN SEX = 'M' THEN 'X' ELSE 'Y' END
答案 2 :(得分:0)
您可以使用bind-parameters。 从PHP代码传递变量的值 在PHP代码中,只需使用if-else
确定变量值答案 3 :(得分:0)
SELECT
LASTNAME, FIRSTNAME, SEX, AGE, CODE
FROM
tblInfo
WHERE
AGE > 20
AND CASE WHEN SEX = 'M' THEN CODE = 'X' ELSE CODE = 'Y' END