我想获取拥有X或Y设备的用户,但排除拥有Z设备的所有用户。
| 用户标识|设备类型|资源类型|
| - -|- -|- -|
| 一百二十三|X轴|器械|
| 一百二十三|Y型|器械|
| 三百二十一|Y型|器械|
| 三百二十一|Z轴|器械|
| 二百三十一|Y型|器械|
| 三百三十三|Q值|其他|
因此,所需的返回值将是ID为123和231的用户,不包括321和333,无论他们有多少台设备,每个用户都返回一次。
我可以设法返回具有X或Y设备的设备,但无法设法排除具有Z设备的设备。下面是我对XY的调用(原始文件有几列):
knex
.select('user_id')
.groupBy('user_id')
.where('resource_type', 'Device')
.andWhere(function() {
this.where('device_type', 'X').orWhere('device_type', 'Y')
})
我试着把它和其他where子句混合在一起,比如whereNot和其他子句,但是没有成功,使用设备Z的用户仍然出现,就好像这个子句被忽略了一样。有人能给我指出正确的方向吗?非常感谢。
1条答案
按热度按时间az31mfrm1#
像这样的东西应该能用