programing

MySQL: 다른 행 값으로 행을 계산하고 업데이트하시겠습니까?

mailnote 2023. 11. 2. 22:01
반응형

MySQL: 다른 행 값으로 행을 계산하고 업데이트하시겠습니까?

표 1.

ID    X      Y
1     0.5    0.5    
2     ?      ?
3     5      5

안녕하세요 여러분.

기본적으로 위와 같은 테이블이 있습니다.ID = 2의 X, Y 값을 다른 열의 값으로 분할한 결과로 업데이트하려고 합니다.

이 쿼리를 실행하려고 했지만 별 성과는 없었습니다.

"UPDATE Table1 SET X = X IN (WHERE ID = 1) / Y IN (WHERE ID = 3) WHERE ID = 2"

내가 원하는 결과는

ID       X          Y
1        0.5        0.6    
2        (0.5/6)    (0.6/5)
3        5          6

많은 데이터베이스에서 사용할 수 있는JOIN. MySQL 구문에서는 다음과 같습니다.

UPDATE Table1 t1 JOIN
       Table1 t1_1
       ON t1_1.ID = 1 JOIN
       Table1 t1_3
       ON t1_3.ID = 3
    SET t1.X = t1_1.X / t1_3.X,
        t1.Y = t1_3.X / t1_3.Y
    WHERE t1.ID = 2;

하위 쿼리를 사용하면 유사한 논리를 구현할 수 있지만 코드가 좀 더 복잡합니다.

언급URL : https://stackoverflow.com/questions/41910387/mysql-calculate-and-update-a-row-with-other-rows-value

반응형