반응형
동일한 테이블에있는 다른 행의 데이터로 행 업데이트
이렇게 생긴 테이블이 있어요
ID | NAME | VALUE |
----------------------------
1 | Test | VALUE1 |
2 | Test2 | VALUE2 |
1 | Test2 | |
4 | Test | |
1 | Test3 | VALUE3 |
동일한 'NAME'을 가진 'VALUE'열에있는 다른 행의 데이터로 'Test2'및 'Test'값을 업데이트하는 방법을 찾고 있습니다 (ID는 여기서 고유하지 않습니다. ID의 복합 키). 및 NAME은 행을 고유하게 만듭니다). 예를 들어 내가 찾고있는 출력은 다음과 같습니다.
ID | NAME | VALUE |
----------------------------
1 | Test | VALUE1 |
2 | Test2 | VALUE2 |
1 | Test2 | VALUE2 |
4 | Test | VALUE1 |
1 | Test3 | VALUE3 |
다른 테이블에 있으면 괜찮지 만 동일한 NAME 값을 사용하여 현재 테이블 내에서 다른 행을 참조 할 수있는 방법을 잃어 버렸습니다.
최신 정보
manji 쿼리를 수정 한 후 다음은 작업 솔루션에 사용한 쿼리입니다. 모두 감사합니다!
UPDATE data_table dt1, data_table dt2
SET dt1.VALUE = dt2.VALUE
WHERE dt1.NAME = dt2.NAME AND dt1.VALUE = '' AND dt2.VALUE != ''
이 시도:
UPDATE data_table t, (SELECT DISTINCT ID, NAME, VALUE
FROM data_table
WHERE VALUE IS NOT NULL AND VALUE != '') t1
SET t.VALUE = t1.VALUE
WHERE t.ID = t1.ID
AND t.NAME = t1.NAME
여기에 내 간다 :
UPDATE test as t1
INNER JOIN test as t2 ON
t1.NAME = t2.NAME AND
t2.value IS NOT NULL
SET t1.VALUE = t2.VALUE;
편집 : 불필요한 t1.id != t2.id
조건을 제거했습니다 .
Update MyTable
Set Value = (
Select Min( T2.Value )
From MyTable As T2
Where T2.Id <> MyTable.Id
And T2.Name = MyTable.Name
)
Where ( Value Is Null Or Value = '' )
And Exists (
Select 1
From MyTable As T3
Where T3.Id <> MyTable.Id
And T3.Name = MyTable.Name
)
UPDATE financialyear
SET firstsemfrom = dt2.firstsemfrom,
firstsemto = dt2.firstsemto,
secondsemfrom = dt2.secondsemfrom,
secondsemto = dt2.secondsemto
from financialyear dt2
WHERE financialyear.financialyearkey = 141
AND dt2.financialyearkey = 140
다른 행의 데이터가있는 새 행을 삽입해야하는 경우
insert into ORDER_ITEM select * from ORDER_ITEM where ITEM_NUMBER =123;
ReferenceURL : https://stackoverflow.com/questions/5574434/update-row-with-data-from-another-row-in-the-same-table
반응형
'programing' 카테고리의 다른 글
메타 태그가 문서 본문에 있으면 어떻게됩니까? (0) | 2021.01.14 |
---|---|
MySQL에서 인덱스를 생성하거나 삭제하기 위해 "존재하는 경우"를 어떻게 사용할 수 있습니까? (0) | 2021.01.14 |
SQLite 테이블 디스크 사용량 (0) | 2021.01.14 |
PowerMock 및 Mockito로 Logger 및 LoggerFactory 모의 (0) | 2021.01.14 |
JSlint에서보고 한 "foo is not defined"오류를 수정하는 방법은 무엇입니까? (0) | 2021.01.14 |