INSERT INTO data_prediction_model
select *, (
CASE WHEN (offer_category like 'Everyday Low Prices on Receipe%'
OR offer_category like 'Every Day Low Prices%'
) THEN "EDLP"
ELSE
CASE WHEN (offer_category like 'Buy More & Save More%'
OR offer_category like 'Buy and Get Free'
) THEN "B1G1"
ELSE
CASE WHEN (offer_category like 'Offer on Activation/Qualification%'
OR offer_category like 'Save on Purchase of select Products/Plans%'
OR offer_category like 'Coupons Offers%'
OR offer_category like 'Digital Coupons Offers%'
OR offer_category like 'Discounted Products%'
OR offer_category like 'Exchange Offers%'
OR offer_category like 'Multiple Brand Offers%'
OR offer_category like 'Free with Rebate'
) THEN "Discounts"
END END END) AS offer_category
FROM data_offer;
回答
从SQL查询ü说,我以为是你CASE
语句时错误
INSERT INTO data_prediction_model
select *, (
CASE WHEN (offer_category like 'Everyday Low Prices on Receipe%' OR
offer_category like 'Every Day Low Prices%')
THEN "EDLP"
WHEN (offer_category like 'Buy More & Save More%' OR
offer_category like 'Buy and Get Free')
THEN "B1G1"
WHEN (offer_category like 'Offer on Activation/Qualification%' OR
offer_category like 'Save on Purchase of select Products/Plans%' OR
offer_category like 'Coupons Offers%' OR
offer_category like 'Digital Coupons Offers%' OR
offer_category like 'Discounted Products%' OR
offer_category like 'Exchange Offers%' OR
offer_category like 'Multiple Brand Offers%' OR
offer_category like 'Free with Rebate')
THEN "Discounts"
END) AS offer_category
FROM data_offer;
正确的CASE语句顺序, 应该是这样的以下模式
CASE
WHEN condition 1 THEN value 1
WHEN condition 2 THEN value 2
ELSE value 3
END
而不是你所做的模式,看起来像这样
CASE
WHEN condition 1 THEN value 1
ELSE CASE
WHEN condition 2 THEN value 2
END
END
希望它能帮助你。
INSERT INTO data.data_prediction_model 选择*,( CASE WHEN OFFER_CATEGORY像 '天天低价的Receipe%',那么 “EDLP” WHEN OFFER_CATEGORY像 '天天低价%',那么 “EDLP” WHEN OFFER_CATEGORY像'购买更多和节省更多% '那么 “B1G1” WHEN OFFER_CATEGORY像' 购买即享Free'THEN “B1G1” ELSE “打折” END)AS OFFER_CATEGORY FROM data_offer;再次出现同样的错误 – akshay
作为@zedfoxus陈述如下.... 1136错误是关于你的插入语句有问题,尝试检查你的data_prediction_model表列和你的插入值...看他们是否匹配的金额和数据类型或不...信用属于他 – Dean
1136错误与表和列中的列不匹配有关。
例如:
mysql> create table test (id int, name varchar(20));
Query OK, 0 rows affected (0.13 sec)
mysql> insert into test values (1, 'test', 'hello');
ERROR 1136 (21S01): Column count doesn't match value count at row 1
注意,提供在'hello'
形式的附加价值抛出1136错误。表格有2列。提供正确的数据类型的2个值会像这样成功:
mysql> insert into test values (1, 'test');
Query OK, 1 row affected (0.03 sec)
仔细检查data_prediction_model列数是相同data_offer + case语句(S)列数。 Case语句创建一个用于插入的新字段。
编辑:
为了解决这个问题,从data_prediction_model列出所有列。列出data_offer中的所有列。 data_offer应该比data_prediction_model少1列。
@akshay你可以添加'show create table data_prediction_model'和'show create table data_offer'的输出吗? – zedfoxus
- 1. 获取SQL错误1136
- 2. Mysql错误1136
- 3. 错误与MySQL(错误1136)
- 4. Flash CC错误1136
- 5. Flash CS6 AS3错误1136
- 6. DELETE上的错误1136
- 7. MySQL错误1136的Excel
- 8. 错误1136:列不在行1
- 9. 错误代码1136:插入命令
- 10. 错误1136在MySQL的语法在我的数据库
- 11. 在这个MySQL查询中获取错误1136
- 12. PHP,错误1136:列计数不在行匹配值计数1
- 13. 错误1136:参数的数量不正确。预期0
- 14. 错误1136:参数的数量不正确。预期1
- 15. 错误代码:1136列计数不匹配值计算
- 16. 错误1136:参数数量不正确。 Expected1当尝试addChild
- 17. actionscript 3错误1136:参数的数量不正确。预计1
- 18. 错误在SQL
- 19. 错误在SQL
- 20. 错误在SQL
- 21. PHP查询错误#1136 - 列数并不在行匹配值数2
- 22. MySQL错误1136(21S01):列数并不在行匹配值计数1
- 23. 错误#1136列,但似乎匹配值在上传备份WordPress数据库
- 24. 错误而在SQL
- 25. 错误在SQL Server
- 26. 错误在SQL SUM()
- 27. OLE错误在SQL
- 28. 错误在PL/SQL
- 29. mysql错误:在SQL语法错误
- 30. SQL错误:SQL语法错误
把这个更多的信息。 检查它是否也存在列数问题。 在SO上发布问题之前,请向Google寻求帮助。 –