고급 MySQL 쿼리 : 다른 테이블의 정보로 업데이트 테이블
-
05-07-2019 - |
문제
다른 테이블의 데이터와 함께 MySQL에서 테이블을 업데이트하고 싶습니다.
"사람"과 "비즈니스"테이블이 두 개 있습니다. People Table은 "Business_ID"라는 열로 비즈니스 테이블에 연결됩니다.
필요한 테이블 구조, 기본 키가 출연합니다 (표 : 열) : 사람 : *business_id, *sort_order, 이메일 비즈니스 : *business_id, 이메일
People Table의 이메일로 비즈니스 테이블 이메일 열을 업데이트하고 싶습니다.
UPDATE business b SET email = (SELECT email from People p where p.business_id = b.business_id AND sort_order = '1') WHERE b.email = '';
이게 말이 되요? 가능합니까?
해결책
UPDATE business b, people p
SET b.email = p.email
WHERE b.business_id = p.business_id
AND p.sort_order = '1'
AND b.email = ''
다른 팁
Sort_order가 int 인 경우 '1' - 사용 1을 사용하지 마십시오.
UPDATE business b
JOIN People p
ON p.business_id = b.business_id
AND p.sort_order = '1'
SET b.email = p.email
WHERE b.email = '';
이것을 시도해보십시오. 그것은 나에게 잘 작동합니다.
Update table a, table b
Set a.importantField = b.importantField,
a.importantField2 = b.importantField2
where a.matchedfield = b.matchedfield;
제휴하지 않습니다 StackOverflow