簡體   English   中英

根據另一個表中的計數器更新列?

[英]Update a column based on counter from another table?

我有一個表,字段是Id1ID2Points1Points2 我有一個具有列另一個表Id1Id2Address1address2city 1city2state1state2 我必須根據第二個表中填充了多少列來更新pointsAPointsB列,這意味着它們沒有null。 防爆

表格1

ID1  ID2   Points 1 Points2
1     2     2         0

表2

ID1  ID2 Address1 address2 city 1 city2 state1 state2.
1    2    a1       null     null   null  s1     null

如何在sql server 2008中實現此目標?

謝謝

UPDATE t1
SET 
    Points1 = t2.Points1, 
    Points2 = t2.Points2
FROM
    Table1 t1 JOIN (
    SELECT
        ID1,
        ID2,
        CASE WHEN Address1 IS NULL THEN 0 ELSE 1 END +
        CASE WHEN City1 IS NULL THEN 0 ELSE 1 END +
        CASE WHEN State1 IS NULL THEN 0 ELSE 1 END AS Points1,
        CASE WHEN Address2 IS NULL THEN 0 ELSE 1 END +
        CASE WHEN City2 IS NULL THEN 0 ELSE 1 END +
        CASE WHEN State2 IS NULL THEN 0 ELSE 1 END AS Points2,
    FROM Table2
) t2 ON t1.ID1 = t2.ID1 AND t1.ID2 = t2.ID2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM