Redshift - UNION ALL Messing the columns



我有两个表,表A和表B。

  1. 表A有4列(日期、数量、价格、总计(
  2. 表B有4列(日期、数量、价格、总计(
  3. 我正在做表A UNION ALL表B
  4. 在我的结果中,所有的Fact值都是相同的。例如,Qnty具有Price列值,Price具有Price列值,Total具有Price栏值。这是Redshift的一个非常奇怪的行为

我刚刚举了一个例子,我的生产表有40列和约1.2B行。

以相同的顺序显式列出列:

select Date, Qnty, Price, Total
from a
union all
select Date, Qnty, Price, Total
from b;

SQL在union all中按顺序分配列,而不是按名称分配列。使用select *时,排序基于每个表中定义列的顺序。如果顺序不一样,结果就会混淆。

相关内容

最新更新