我有一个包含以下列的表:
id hcp_id status
1 10 True
2 10 False
3 10 True
4 20 True
5 20 True
6 20 True
7 30 False
8 30 True
9 30 True
结果应该是:
Results:
hcp_id
10 = 0
20 = 1
30 = 0
基本上,如果特定 hcp_id 的所有条目都没有 False 状态,请将其计为一个。之后,总结所有结果:
Result = 0 + 1 + 0
此外,它必须使用 ADODB 与 mySQL ODBC 一起使用 VB6
这可以在一次查询中完成吗?
要考虑的其他事项是速度,因为这将在一个至少有14,000或更多记录的表格中完成。
答案 0 :(得分:4)
对于mysql,你可以这样做,但我不知道如何为ADODB写它
SELECT
hcp_id,
CASE WHEN COALESCE(SUM(`status` ='False')) =0 THEN 1
ELSE 0 END `all_true`
FROM
t
GROUP BY hcp_id