【发布时间】:2018-09-02 09:31:51
【问题描述】:
我的where 子句中有多个... or ... 连接条件的select 语句(下图)(即将成为30+ or 条件)
我想要做的是有一个列告诉我where 子句中的哪个or 被触发。
这可能吗?
我尝试过搜索,但我似乎碰壁了。任何建议或正确方向的观点将不胜感激。谢谢
select
Details_TransactionDate as Transaction_Date,
Details_Credit as Credit,
MSD.TicketNo as Ticket_Number,
Details_Pn as Description,
MSD.Nun as Numbers
from
MS_Transactions MST
left join MBS_Details as MSD on MST.TicketNo = MSD.TicketNo
where
Details_Pn like '%SALARY%'
or Details_Pn like '%Mid MTH%'
or Details_Pn like '%Mid Month%'
or Details_Pn like '%Pay%'
or Details_PNarration like '%SAL%'
and day(Details_TransactionDate) between 23 and 25
and weekday(Details_TransactionDate) Between 0 and 4;
【问题讨论】:
-
“触发”以什么方式?您的意思是为什么包含结果中的一行?如果是这样,您可以在选择中添加一堆额外的表达式,例如:
Details_Pn like '%SALARY%' AS passed_condition_1。 此外,您可能希望在 where 子句中使用括号强制/指示所需的评估(即使依赖于优先规则。)
标签: mysql select where-clause