[英]Check if the first or second condition exists
我在选择查询时遇到了一个小问题,即当我想用下面的代码检查第一个条件时
select * from VL_Faktura_Queue where FAK_KundenNr=127849 AND (FAK_BoMatNr LIKE '%verk%' AND FAK_VerrechnetBis ='0001-01-01')
,它向我显示了一个位置,但是当我添加一个条件时,我想检查是否有FAK_KundenNr
和FAK_BomatNr LIKE '% Verk%' OR FAK_BoMatNr Like 'Zus%'
也会向我抛出不属于FAK_KundenNr = 127849
不同值FAK_KundenNr = 127849
,因为我可以轻松检查它是否返回了我的这个KundenNr
值,其中有 1 或 2 条件。
这是我的查询:
select * from VL_Faktura_Queue where FAK_KundenNr=127849
AND (FAK_BoMatNr LIKE '%verk%' AND FAK_VerrechnetBis ='0001-01-01') --this would be the first condition
or FAK_BoMatNr like 'Zus%' --and this the second condition
这是我应该得到的个人选择,但在最后的一个查询中
所以我的问题是如何从图片中的这两个查询中选择一个查询,谢谢大家的帮助
你的括号是不够的。 AND
优先于OR
,所以你有FAK_KundenNr = 127849 AND (<first condition)>
OR FAK_BoMatNr like 'Zus%'
。
SELECT *
FROM VL_Faktura_Queue
WHERE FAK_KundenNr = 127849
AND
(
(FAK_BoMatNr LIKE '%verk%' AND FAK_VerrechnetBis = '0001-01-01')
or
FAK_BoMatNr LIKE 'Zus%'
);
根据您的要求,您需要将“AND”运算符与其他逻辑“OR”运算符结合使用。
SELECT *
FROM VL_Faktura_Queue
WHERE
(
( FAK_BoMatNr LIKE '%verk%'
AND FAK_VerrechnetBis = '0001-01-01'
) -- 1st Condition
or
(FAK_BoMatNr LIKE 'Zus%') -- 2nd Condition
)
AND FAK_KundenNr = 127849;
请检查此解决方案是否适合您。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.