我有两个表,表A和表B。
- 表A有4列(日期、数量、价格、总计(
- 表B有4列(日期、数量、价格、总计(
- 我正在做表A UNION ALL表B
- 在我的结果中,所有的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 *
时,排序基于每个表中定义列的顺序。如果顺序不一样,结果就会混淆。