我正在努力将另一个表中的指定值插入到配置单元中的分区表中,因为我不知道如何在同一insert语句中指定分区列和特定列。我已经读到分区列值必须是select语句中的最后两个,并且按照它们在分区中出现的顺序排列。但查询随后抱怨select有5个结果,但插入的结果只有3个。
任何帮助都将不胜感激。
CREATE TABLE IF NOT EXISTS tableName (
code INT,
value1 DECIMAL(12, 8),
value2 DECIMAL(12, 8),
)
PARTITIONED BY(part1 DECIMAL(10, 3), part2 DECIMAL(10, 3));
INSERT INTO TABLE tableName
PARTITION
(
part1,
part2
)
(
code,
value1,
value2,
)
SELECT
code,
value1,
value2,
ROUND(value1, 2),
ROUND(value2, 2)
FROM importData;
1条答案
按热度按时间r1zhe5dt1#
不知道为什么在两个语句中有五个分区
( part1, part2 )
( code, value1, value2, )
. 你是正确的分区列是最后陈述的。也许这个简化的例子可以帮助你在正确的轨道上完成你所追求的。--已更新
我可以问你为什么
(code,value1,value2,)
在你的分区之后?这应该起作用: