我有一个包含数字(> 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 ++程序传递查询来完成所有这些工作。
答案 0 :(得分:-2)
我已经使用了一些其他程序来解决这个问题。我正在检索所有数据,使用c ++进行处理,然后更新表。
这可以使用一些编程语言来完成。使用特定于该语言的数据库API获取数据,然后相应地处理它们。然后可以将其更新到数据库。