我有这个查询的结果。
select distinct "CVE_ID","V19_200","V20","V20_100","V21","V21_100","V21_200" from cve_table where "CVE_ID"='CVE-2022-22965';
CVE_ID | V19_200 | V20 | V20_100 | V21 | V21_100 | V21_200
----------------+---------+-----+---------+-----+---------+---------
CVE-2022-22965 | f | f | f | f | f | f
CVE-2022-22965 | f | f | f | f | t | f
CVE-2022-22965 | f | f | f | t | f | f
CVE-2022-22965 | f | f | t | f | f | f
CVE-2022-22965 | f | t | f | f | f | f
CVE-2022-22965 | t | f | f | f | f | f
我要的是这个
CVE_ID | V19_200 | V20 | V20_100 | V21 | V21_100 | V21_200
----------------+---------+-----+---------+-----+---------+---------
CVE-2022-22965 | t | t | t | t | t | f
我尝试过 UNION 和 UNION ALL 但它对我不起作用,或者我无法以正确的方式做到这一点。
使用 BOOL_OR 和 GROUP BY,即:
SELECT "CVE_ID", BOOL_OR("V19_200") as "V19_200", BOOL_OR("V20") as "V20", BOOL_OR("V20_100") as "V20_100", BOOL_OR("V21") as "V21", BOOL_OR("V21_100") as "V21_100", BOOL_OR("V21_200") as "V21_200" FROM cve_table WHERE "CVE_ID" = 'CVE-2022-22965' GROUP BY "CVE_ID";