我有以下表格:
UserId UserDb Systolic Diastolic Weight Height
----------- ----------- ----------- ----------- ----------- -----------
1000022 2 0 0 0 67
1000022 2 23 323 33 0
50508 30 3 3 33 39
51604 0 0 44 44 191
51318 0 0 0 0 0
如何通过完整的记录集获取UserId?我的意思是数据可以分散在记录之间,例如 1000022 id的用户在一行中有 height 记录, weight ,收缩其他行中和舒张。
我有表变量的解决方案但它没有效率和灵活性。是否可以进行此类查询?
我想得到那个ID:
UserId
-----------
1000022
50508
答案 0 :(得分:3)
SELECT userID
FROM TableName
GROUP BY UserID
HAVING MAX(UserDb) <> 0 AND
MAX(Systolic) <> 0 AND
MAX(Diastolic) <> 0 AND
MAX(Weight) <> 0 AND
MAX(Height) <> 0
输出
╔═════════╗
║ USERID ║
╠═════════╣
║ 50508 ║
║ 1000022 ║
╚═════════╝