UNION 2表很多字段,少数几个不同,可以使用SELECT *?

问题描述 投票:0回答:1

我有2个MYSQL表,一个有794个字段,另一个有796个字段,普通的794个字段相同。是的,是真实的数字,是将数据从旧系统导入到新系统。

如果我这样做:

SELECT foo 
FROM (SELECT * 
      FROM bar1 UNION 
      SELECT *, null as `Extra Field 1`, null as `Extra Field 2` 
      FROM bar2
     ) bar1_2 
WHERE key = "Value in bar2 only";

这给foo提供了错误的值。

SELECT foo FROM bar2 WHERE key = "Value in bar2 only";处>

给出foo的正确值

即即使Extra Field 1Extra Field 2是多余字段的正确名称,列也已移动。

有没有办法仍然使用*或其他快捷方式,以避免在查询中写入796列的名称?

我可以以编程方式构建查询字符串,但是如果只有SQL方式呢?

我有2个MYSQL表,一个有794个字段,另一个有796个字段,普通的794个字段相同。是的,是真实的数字,是将数据从旧系统导入到新系统。如果我这样做:SELECT foo FROM(SELECT ...

mysql sql union
1个回答
0
投票

除非显式地写入列名,否则不能将UNION用于不同数量的列。

© www.soinside.com 2019 - 2024. All rights reserved.