0
我有一个asp.net项目,在这个项目上,使用案例更新列
我需要根据我的其他2列的值更新我的列。 我的表结构看起来;
ID - 名称 - GK - PG - GK + PG
1 - 迈克 - 1 - 1 [在SQL应该在这里写540但是对于情况下写入180]
2 - 约翰 - 2 - 1的sql应该在这里写1080但对于壳体180写入]
3 - 苏 - 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',它不寻找其他状态。
等待你的答案。
谢谢。
如果所有行都有'[GK] ='1'或'[PG] ='1',这是预期的。在这种情况下,不会检查第3条和以下条件。 –
我需要检查他们,我怎么能做到我的朋友? –
首先检查AND条件,然后使用OR。 – Kaf