1

我有这个 SQL

SELECT devudp1.deviceoid,devudp1.valueType
  FROM DeviceUdpValues devUDP1 
 WHERE devudp1.udpname='TestUDP' 
   and <<either bdvalue or string value based on user selected value datatype>>

在基于devudp1.valueType的查询中,我想在下面附加属性

如果 valueType 是 3,那么我想在上面的 select 子句中附加devudp1.bdvalue ='10',否则应该附加devudp1.bdvalue = 'Hello'

所以上面的查询当 valueType 是 3 看起来像

SELECT devudp1.deviceoid,devudp1.valueType
  FROM DeviceUdpValues devUDP1
 WHERE devudp1.udpname='TestUDP'
   AND devudp1.bdvalue = '10'

否则它看起来像

SELECT devudp1.deviceoid,devudp1.valueType
  FROM DeviceUdpValues devUDP1
 WHERE devudp1.udpname='TestUDP'
   AND devudp1.stringValue = 'Hello'

谁能建议我如何将这个逻辑落实到位

4

1 回答 1

3

尝试这个:

SELECT  devudp1.deviceoid,devudp1.valueType
  FROM  DeviceUdpValues devUDP1 
 WHERE  devudp1.udpname='TestUDP'
   AND  (
         (<USER-SELECTED-VALUE> = 3 AND devudp1.bdvalue ='10') OR
         (<USER-SELECTED-VALUE> <> 3 AND devudp1.stringvalue ='Hello') 
        )
于 2012-07-13T14:53:39.367 回答