1

我有下表:

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 的用户在一行中有身高记录,而在其他行中有体重收缩压舒张压记录。

我有带有表变量的解决方案,但它既不高效也不灵活。是否可以进行这样的查询?

我想得到那个ID:

UserId
-----------
1000022
50508
4

1 回答 1

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

OUTPUT

╔═════════╗
║ USERID  ║
╠═════════╣
║   50508 ║
║ 1000022 ║
╚═════════╝
于 2013-03-25T12:27:12.610 回答