基于 2 个其他列的组合查询表中的 1 列

时间:2021-05-25 08:27:42

标签: sql

表测试

  • RPAN8 列
  • RPVR01 列

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

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

1 个答案:

答案 0 :(得分:0)

您的问题有点不清楚,但我认为您希望值只出现一次。您可以使用 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;