mysql使用一组列中的数据更新列,以非零为准

时间:2014-02-27 09:22:07

标签: c++ mysql

我有一个包含数字(> 10)列的表格。现在我需要更新一个列(rc),该列根据不同的条件(总共4个)更新其他列的内容。我使用case来做这个,但是在最后一个的情况下,条件是如果以上3个都不起作用,我需要设置rc列如下。

我需要检查五个测试列中的哪一列非零,并将其内容设置在rc列中。

请帮助我如何做到这一点。

这就是我正在做的事情

UPDATE <table_name> 
SET CASE
WHEN {condition_1} THEN col_1=true, rc = CONCAT("Reason is", col_2)
WHEN {condition_2} THEN col_1=true, rc = CONCAT("Reason is", col_3)
WHEN {condition_3} THEN col_1=true, rc = CONCAT("Reason is", col_4)

WHEN {I'm stopped here} THEN col_1=true, rc = CONCAT( " Reason is", {whichever column is non- zero})

END

请帮助我说明最后一个条件应该是什么声明。记住我通过从C ++程序传递查询来完成所有这些工作。

1 个答案:

答案 0 :(得分:-2)

我已经使用了一些其他程序来解决这个问题。我正在检索所有数据,使用c ++进行处理,然后更新表。

这可以使用一些编程语言来完成。使用特定于该语言的数据库API获取数据,然后相应地处理它们。然后可以将其更新到数据库。