根据另一列的值更新SQL列。 (事情并非如此简单)

时间:2015-09-15 16:37:14

标签: sql sql-server

我正在尝试在某些情况下更新具有不同列值的列。这很复杂。我已经试着自己解决这个问题了好几个星期了。 (开和关)

以下是目前的情况: enter image description here

我需要一个SQL语句,它将在OperationCode 1280中查找LotNo,并为具有相同CastTID的所有值分配它。

以下是它应该是什么样子 enter image description here

我真的很感激任何帮助!这是我的第一篇文章,如果我遗漏了任何重要内容请告诉我,以便我能帮助你。

3 个答案:

答案 0 :(得分:1)

您可以在更新语句中使用联接来简化此操作。

update t
set CastLotNo = t2.LotNo
from yourTable t
inner join yourTable t2 on t2.CastTID = t.CastTID and t2.OperationCode = 1280

答案 1 :(得分:0)

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

  <ul id="ul_news">
    <li class="active">ahoj2</li>
    <li class="non_active1">ahoj3</li>
    <li class="non_active2">ahoj4</li>
    <li class="non_active3">ahoj5</li>
  </ul>

好像你可以使用类似的东西。我现在无法测试,所以如果需要调整,请告诉我。

答案 2 :(得分:0)

WITH cte as (
    SELECT CastTID, LotNo
    FROM Table1
    WHERE OperationCode = 1280
)
UPDATE myTable T
SET CastLotNo = (SELECT C.LotNo as CastLotNo 
                 FROM cte C
                 WHERE C.CastTID = T.CastTID)