求解:sql 关于or 和and的问题
select Wzgl_Jdsbxx.gzbh,Wzgl_SBJSCSZB.CSMC from Wzgl_SBJSCSXXB,Wzgl_SBJSCSZB,Wzgl_Jdsbxx,yh_gzxx_cur where Wzgl_SBJSCSXXB.CSBH=Wzgl_SBJSCSZB.ID and Wzgl_Jdsbxx.gzbh=Wzgl_SBJSCSXXB.GZBH and yh_gzxx_cur.gzbh=Wzgl_Jdsbxx.gzbh
or (Wzgl_SBJSCSZB.CSMC='使用期限' and DATEDIFF(d, Wzgl_Jdsbxx.syrq,GETDATE())>JSCSZ ) --1
or (Wzgl_SBJSCSZB.CSMC='维修次数' and dxcs >JSCSZ ) --2
or (Wzgl_SBJSCSZB.CSMC='闲置' and yh_gzxx_cur.newstate='备用' and DATEDIFF(d, yh_gzxx_cur.bgri,GETDATE())>JSCSZ ) --3
要的效果是条件1或2或3满足其一即可
在线求解啊~~~
------解决方案--------------------select Wzgl_Jdsbxx.gzbh,Wzgl_SBJSCSZB.CSMC from Wzgl_SBJSCSXXB,Wzgl_SBJSCSZB,Wzgl_Jdsbxx,yh_gzxx_cur where Wzgl_SBJSCSXXB.CSBH=Wzgl_SBJSCSZB.ID and Wzgl_Jdsbxx.gzbh=Wzgl_SBJSCSXXB.GZBH and yh_gzxx_cur.gzbh=Wzgl_Jdsbxx.gzbh and (
or (Wzgl_SBJSCSZB.CSMC='使用期限' and DATEDIFF(d, Wzgl_Jdsbxx.syrq,GETDATE())>JSCSZ ) --1
or (Wzgl_SBJSCSZB.CSMC='维修次数' and dxcs >JSCSZ ) --2
or (Wzgl_SBJSCSZB.CSMC='闲置' and yh_gzxx_cur.newstate='备用' and DATEDIFF(d, yh_gzxx_cur.bgri,GETDATE())>JSCSZ ) )