Sql 检查第一个或第二个条件是否存在
我在选择查询时有一个小问题,即当我想用下面的代码检查第一个条件时Sql 检查第一个或第二个条件是否存在,sql,sql-server,Sql,Sql Server,我在选择查询时有一个小问题,即当我想用下面的代码检查第一个条件时 select * from VL_Faktura_Queue where FAK_KundenNr=127849 AND (FAK_BoMatNr LIKE '%verk%' AND FAK_VerrechnetBis ='0001-01-01') ,它向我显示了一个位置,但当我添加一个条件时,我想检查是否存在FAK_KundenNr与FAK_BomatNr类似“%Verk%”或FAK_BomatNr类似“Zus%”的FAK
select * from VL_Faktura_Queue where FAK_KundenNr=127849 AND (FAK_BoMatNr LIKE '%verk%' AND FAK_VerrechnetBis ='0001-01-01')
,它向我显示了一个位置,但当我添加一个条件时,我想检查是否存在FAK_KundenNr
与FAK_BomatNr类似“%Verk%”或FAK_BomatNr类似“Zus%”的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
这是我应该得到的个人选择,但在最后的一个查询中
所以我的问题是如何在一个查询中从图片中的这两个查询中进行选择,谢谢大家的帮助您的括号不够和
优先于或
,因此您有FAK_KundenNr=127849和(
或FAK_BoMatNr,如'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;
请检查此解决方案是否适用于您。从FAK_KundenNr=32217的VL_Faktura_队列中选择*和(FAK_BoMatNr如'%verk%'或FAK_BoMatNr如'Zus%')和FAK_VerrechnetBis='0001-01-01')@PoojaKhokhani感谢您的回复,但这不是一个好的解决方案从FAK_Faktura Faktura_队列中选择*,FAK Kundenr=32217和(FAK_-BoMatNr如'%verk%'和FAK_-VerrechnetBis='0001-01-01')或(FAK_-BoMatNr如'Zus%'和FAK_-VerrechnetBis='0001-01-01')
@PoojaKhokhani是的,但在第二种情况下,我不想检查FAK_-VerrechnetBis,但前提是FAK_-BoMatNr如'Zus%'