首页 > 解决方案 > 选择具有虚拟值的虚拟列并在 SQL 中的虚拟列中搜索?

问题描述

我有两张桌子需要加入

Table1
col1   col2   col3 
------------------
 1      A      20 
 2      B      10
 3      C      30
 4      D      40

Table2
col1   col2
-----------
 1      A  
 2      B  
 3      C  
 4      D  

我必须对两个表进行 UNION。由于table2没有 col3 我已在查询中添加为虚拟列。

我需要在col3的两个表中执行搜索操作

我试过了,但它抛出了未知的列异常。

(SELECT col1, col2, col3 from table1 where col3 = "10")
 UNION
(SELECT col1, col2, "10" as col3 from table2 where col3 = "10")

任何帮助,将不胜感激

标签: mysql

解决方案


之后可以直接查询 UNIONed 数据:

SELECT col1, col2, col3 from
(
 (SELECT col1, col2, col3 from table1)
  UNION
 (SELECT col1, col2, "10" as col3 from table2)
) as b 
where col3 = "10"

推荐阅读