database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 6851 게시물 읽기
No. 6851
두개의테이블을 한번에 업데이트 하기
작성자
김우성(babokws)
작성일
2014-09-21 14:10
조회수
6,353

update outm_yymm set
                junno=replace(m.junno, '2014-09-19', '2014-10-01')+'X',
                day1=replace(m.day1, '2014-09-19', '2014-10-01')
                from outm_yymm m inner join outd_yymm d on m.junno=d.junno
                and m.day1='2014-09-19' and m.manid='5'
Go
update outd_yymm set
                scancode=replace(d.scancode, '2014-09-19', '2014-10-01')+'X',
                junno=replace(d.junno, '2014-09-19', '2014-10-01'),
                day1=replace(d.day1, '2014-09-19', '2014-10-01')
                from outd_yymm d inner join outm_yymm m on d.junno=m.junno
                and d.day1='2014-09-19' and m.manid='5'

outm_yymm만 업데이트되고 밑의 outd_yymm은 같이 업데이트가 안되요...

이 글에 대한 댓글이 총 3건 있습니다.

위의 update를 실행하고 나면 outm_yymm의 junno가 2014-10-01X와 같은 형태로 이미 변경 되었기 때문에 아래의 update 문에서 join이 되지 않아서 발생하는 문제입니다.

 
따라서
  1. join 없이 update를 수행하시거나
  2. 2번째 update 문을 
    update outd_yymm set
    scancode=replace(d.scancode, '2014-09-19', '2014-10-01')+'X',
    junno=replace(d.junno, '2014-09-19', '2014-10-01'),
    day1=replace(d.day1, '2014-09-19', '2014-10-01')
    from outd_yymm d 
    inner join outm_yymm m 
    on replace(d.junno, '2014-09-19', '2014-10-01')+'X'=m.junno
    and d.day1='2014-09-19' and m.manid='5'
    와 같이 동일하게 변경된 조건으로 update를 하세요.
 

 

우욱님이 2014-09-22 10:16에 작성한 댓글입니다. Edit

네 감사합니다만은

날짜는 계속 동적으로 변하는 수라서

on replace(d.junno, '2014-09-19', '2014-10-01')+'X'=m.junno
 

를 넣을수가 없는것 같아요...

김우성(babokws)님이 2014-09-23 00:56에 작성한 댓글입니다.

다시 찬찬히 해보니 해결됐습니다

정말 감사합니다.수고하세요

김우성(babokws)님이 2014-09-23 21:41에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
6855mssql 에서 select 시 레코드 결과 수 지정 [2]
송영미
2014-10-14
5841
6853두개의 테이블을 조회후 조건쿼리 [3]
김우성
2014-09-29
6178
6852랭킹정보 업데이트 하기 [1]
고영훈
2014-09-26
6689
6851두개의테이블을 한번에 업데이트 하기 [3]
김우성
2014-09-21
6353
6848조건이 1인것과 0인것 구별해서 합계내기 [1]
김우성
2014-09-06
6104
6847select -> update 문으로 바꾸기 [3]
김우성
2014-09-03
6544
6846MDB UPDATE시 문자열 내에 있는 아포스트로피( ' ) [1]
전일동
2014-09-03
6429
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.049초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다