SQL在连接表上的值不同

kar*_*low 4 sql join

我试图获取DISTINCT表中一列的值.但是,此列是从另一个表通过的INNER JOINED id.

当我尝试使用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
Run Code Online (Sandbox Code Playgroud)

nor*_*ole 8

尝试使用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
Run Code Online (Sandbox Code Playgroud)

  • 结果是相同的 - "GROUP BY val2"将返回不同/唯一的`val2`值. (3认同)

kar*_*low 0

为了提供我的解决方案:我最终通过连接使用了嵌套的不同值,并且它们中的所有未嵌套值(所有 20+)都必须包裹在 MIN(x) 周围,因为这些值并不那么重要,只要仅返回一个不同的值。