Mysql 选择具有虚拟值的虚拟列,然后在SQL中的虚拟列中搜索?
我有两张桌子需要合并Mysql 选择具有虚拟值的虚拟列,然后在SQL中的虚拟列中搜索?,mysql,Mysql,我有两张桌子需要合并 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 我得把两张桌子合二为一。由于表2没有col3,我在查询中添加了dummy列 我
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
我得把两张桌子合二为一。由于表2没有col3,我在查询中添加了dummy列
我需要对col3
我试过了,但它抛出了未知列异常
(SELECT col1, col2, col3 from table1 where col3 = "10")
UNION
(SELECT col1, col2, "10" as col3 from table2 where col3 = "10")
如有任何帮助,将不胜感激。您可以在之后直接查询联合数据:
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"
表2中不需要
WHERE
子句:
SELECT col1, col2, col3 FROM Table1 WHERE col3 = '10'
UNION
SELECT col1, col2, '10' FROM Table2
请参阅。结果:
如果表2中没有这样的列,您如何在表2中搜索col3?@juergend,联合操作后,我们可以搜索。我得到了我的解决方案,我只期待这一个。谢谢
Where
子句是必需的,因为它可以是不特定于10的任何字段值。@不,Where子句仅适用于表1。
> col1 | col2 | col3
> ---: | :--- | :---
> 2 | B | 10
> 1 | A | 10
> 3 | C | 10
> 4 | D | 10