mysql - 从 Mysql 中的连接结果中选择不同的值

标签 mysql sql

我试图从 mysql 中的两个表中访问完整数据,然后从结果集中找到列的不同值。尝试使用嵌套查询,如下所示:-

Select distinct s.BlockName 
from (SELECT * 
      FROM constucted
      LEFT JOIN required ON constucted.BlockName = required.BlockName 

      UNION

      SELECT * 
      FROM constucted
      RIGHT JOIN required ON constucted.BlockName = required.BlockName
     ) s

Stackoverflow Reference 中所述 并尝试使用 with 关键字如下:-

WITH CTE
AS
(
   SELECT * 
   FROM constucted
   LEFT JOIN required ON constucted.BlockName = required.BlockName

   UNION

   SELECT * 
   FROM constucted
   RIGHT JOIN required ON constucted.BlockName = required.BlockName
)
SELECT DISTINCT BlockName
FROM CTE

但无法为 BlockName 列找到不同的值,无法为其准备查询。

最佳答案

您的查询似乎更简单地写为:

select BlockName 
from constructed
union -- intentional to remove duplicates
select BlockName
from required;

关于mysql - 从 Mysql 中的连接结果中选择不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49180895/

相关文章:

mysql - 从 2 个不同的表收集数据,条件如下

mysql - 一个有点棘手的mysql查询

mysql - 带 ROUND 和除法的 sql 查询

php - 检查用户名和电子邮件已经存在于php mysql中

php - 我如何进行这个选择查询?

MySQL - 多表选择

php - MySQL 更新枚举字段类型值

python - python-django框架中的内连接

mysql - 如何在 SQL 客户端中使用 'follow' 外键

php - 从表中排序数据,分配给变量然后从另一个文件调用