使用用例更新列

时间:2013-01-04 00:34:39

标签: asp.net sql-server-2008 sql-update case

我有一个关于这个项目的asp.net项目,

我需要根据其他2列的值更新我的列。 我的表的结构看起来;

ID - NAME - GK - PG - GK + PG

1 - 迈克 - 1 - 1 [sql应该在这里写540但是为这个案子写180]

2 - john - 2 - 1 [sql应该在这里写1080但是为这个案子写180]

3 - sue - 1 - 2 [sql应该在这里写1080但是为这个案子写180]

这是.cs代码。

string strSQL = "UPDATE [info] SET
[GK_PG] = (CASE
WHEN ([GK]='1') THEN '180'
WHEN ([PG]='1') THEN '180'
WHEN ([GK]='2') THEN '540'
WHEN ([PG]='2') THEN '540'
WHEN ([GK]='3') THEN '1080'
WHEN ([PG]='3') THEN '1080'
WHEN ([GK]='1' AND [PG]='1') THEN '540'
WHEN ([GK]='2' AND [PG]='1') THEN '1080'
WHEN ([GK]='1' AND [PG]='2') THEN '1080'
ELSE 0
END)
WHERE [DATE] BETWEEN @DATE1 AND @DATE1 AND WORK_TYPE='IN'";

此代码只写我的[GK_PG]列'180',它不会查找其他状态。

等待你的回答。

谢谢。

1 个答案:

答案 0 :(得分:0)

我已经通过将GK和PG情境分成两个不同的按钮点击事件来解决它。

非常感谢。