sql - 열의 여러 행을 목록 위임자와 다른 값으로 업데이트합니다.

dapper sql-server

문제

나는 ProjectTable과 ProjectMaterial 매핑 테이블을 가지고있다. 각 프로젝트에는 여러 가지 다른 재료가 연관 될 수 있습니다.

전의;

 ProjectmaterialId   ProjectId   MaterialCode
      1                 4118      A
      2                 2135      B
      3                 4118      B
       ......

특정 프로젝트의 모든 MaterialCode를 값 목록에서 어떻게 업데이트 할 수 있습니까? 나는 결과가 다음과 같아야한다.

ProjectmaterialId   ProjectId   MaterialCode
      1                 4118      c
      2                 2135      B
      3                 4118      D
       ......

당신이 내가 C에서 D 값을 가지고있는 목록에서 projectId 4118을 업데이트했다는 것을 깨달 았기 때문에 ... 사용자가 View에서 업데이트 한 값의 목록을 받고 있는데이 sql 쿼리를 만들어서 dapper를 사용하여 데이터베이스를 업데이트해야합니다. .

미리 감사드립니다.

인기 답변

내가 너를 돕기를 바란다.

DECLARE @ProjectTable TABLE(ProjectmaterialId INT , ProjectId INT,   MaterialCode VARCHAR(2))

INSERT INTO @ProjectTable

SELECT 1, 4118,     'A' union all
SELECT 2, 2135,     'B' union all
SELECT 3, 4118,     'B' 

DECLARE @ProjectMaterial  TABLE(ProjectmaterialId INT , ProjectId INT,   MaterialCode VARCHAR(2))

INSERT INTO @ProjectMaterial 

SELECT 1, 4118  ,    'C' union all
SELECT 2, 2135  ,    'B' union all
SELECT 3, 4118  ,    'D' 

SELECT * from @ProjectTable
SELECT * from @ProjectMaterial 

UPDATE  A
SET MaterialCode=B.MaterialCode
FROM @ProjectTable A
INNER JOIN @ProjectTable B
ON A.ProjectmaterialId=B.ProjectmaterialId

SELECT * FROM @ProjectMaterial 


아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.