首页 > 解决方案 > 根据组合的其他 2 列查询表中的 1 列

问题描述

表测试

在 (PRAN8 + RPVR01) 中搜索 RPAN8 的唯一出现。

SELECT RPAN8 
FROM Test
WHERE RPAN8 IN (SELECT DISTINCT(CONCAT(RPVR01, RPAN8)) 
                FROM Test); 

标签: sql

解决方案


你的问题有点不清楚,但我认为你想要只出现一次的值。您可以使用GROUP BYHAVING

目前尚不清楚您是否想要RPAN8只出现一次的值及其RPVR01值:

SELECT RPAN8, MAX(RPVR01)
FROM Test
GROUP BY RPAN8
HAVING COUNT(*) = 1;

或者,如果您想要只出现一次的对:

SELECT RPAN8, RPVR01
FROM Test
GROUP BY RPAN8, RPVR01
HAVING COUNT(*) = 1;

推荐阅读