SELECT count(distinct ho.SerialId) FROM XXXXX ho
LEFT JOIN XXXX hop WITH(NOLOCK)
on ho.SerialId=hop.SerialId
LEFT JOIN XXXX hon WITH(NOLOCK)
on ho.SerialId=hon.SerialId
LEFT JOIN XXXX hio WITH(NOLOCK) on ho.HotelId =hio.Id
LEFT JOIN XXXX hot WITH(NOLOCK) on ho.SerialId=hot.OrderSerialId
LEFT JOIN XXXX hopd WITH(NOLOCK) on hop.ProcessingId=hopd.ProcessingId
LEFT JOIN XXXX si WITH(NOLOCK) on si.Id=hon.HONESupplierId
where hop.ProcessingActionType in (2,3,50 ,null)
and hio.HotelLevel = 1
and ho.SerialId =''
上面写法是错的
把hop.ProcessingActionType in (2,3,50 ,null)改成(hop.ProcessingActionType in (2,3,50) or hop.ProcessingActionType is null)
where hop.ProcessingActionType in (2,3,50) or isnull(hop.ProcessingActionType)
isnull(hop.ProcessingActionType) 这个bool值吧 ⊙﹏⊙b汗
@||Timmy: 不知道,没写过 sql,反正就是表示 hop.ProcessingActionType 为 null 时的意思。当然,你的 hop.ProcessingActionType 必须是可为空的类型。
没理解啥意思,顺便来占个位置!
我觉得应该是
hop.ProcessingActionType in(2,3,50) or hop.ProcessingActionType not in(2,3,50)
select count(1) from XXXX where hop.ProcessingActionType is null or hop.ProcessingActionType in(2,3,50)
从你的查询条件与输出结果来看,只的最后结果只能是1或者0
- -。。。。
where isnull(hop.ProcessingActionType,-1) in (2,3,50 ,-1),将null转化为-1(也可以是其它值)
已经结贴啦 不能给你豆豆啦。。。
@||Timmy: 哥回答问题并不是为了豆豆,那会显得肤浅低俗,主要是为了帮助你,让你的妈妈不要再担心你的学习。
@蓝色的猫儿: 有追求的骚年