我正在尝试获取表中一列的DISTINCT值。但是,此列是通过id从另一个表进行INNER JOINED的。

当我尝试在该列上使用DISTINCT时,它会产生相同的结果,因为DISTINCT还考虑了唯一的标识符ID。是否有任何解决方法,可以从联接表中获取列的DISTINCT值???

例如。

SELECT val1, b.val2, val3
  FROM TABLE 1
  JOIN (SELECT DISTINCT val2
          FROM TABLE 2) AS b ON val1 = b.val2

最佳答案

尝试抛出GROUP BY而不是DISTINCT:

SELECT val1
     , b.val2
     , val3
  FROM TABLE 1
  JOIN (SELECT val2
          FROM TABLE 2 GROUP BY val2) AS b ON val1 = b.val2

关于连接表的SQL唯一值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9425276/

10-09 21:43