插入带有字符限制的表

时间:2017-06-25 20:10:04

标签: mysql sql

我正在尝试插入表中,但继续获得字符限制错误。当我尝试使用SELECT下的LEFT函数限制我的辅助表中的字符时,我得到另一个错误。我有办法限制字符数吗?这是大纲:

insert into PrimaryTable
select
    D.Year,
    LEFT(D.Product_ID,5),
    LEFT(SUM(D.SALES),5) as SALES,
    LEFT(SUM(D.UNITS),5) as UNITS
from DataTable D
where UNITS <> 0
group by 1,2;

编辑:将D.SUM(SALES)更改为SUM(D.SALES),仍然收到错误。

1 个答案:

答案 0 :(得分:0)

SUM的结果将是一个数字。但是,LEFT函数的输入必须是字符串。因此,您应该将结果转换为字符串,如下所示:

insert into PrimaryTable
select
D.Year,
LEFT(CONVERT(D.Product_ID,char),5),
LEFT(CONVERT(SUM(D.SALES),char),5) as SALES,
LEFT(CONVERT(SUM(D.UNITS),char),5) as UNITS
from DataTable D
where UNITS <> 0
group by 1,2;