음.. 결국은 그렇군요. 역시 지원되지 않는 SQL이었군요.
그건 그렇지만 말입니다, 간단히 할 수 있으리라는 여러번의 Query를
사용하라는 지적이 좀 모호합니다.
SELECT문을 이용하여 두 Table을 Join하여 조회는 할 수 있으나,
결과적으로 원하는 것은 첫째 Table에 해당하는 값을 부어넣고 싶은
것입니다.
Update문을 이용해야하는데, 여러개의 레코드(학번이 일치하는)를
일괄처리하고자 하는 것입니다.
좀 더 구체적인 지적 부탁드립니다.
감사합니다.
> MySQL 에선 불가능한 SQL 문입니다.
> 일단 update 문에서 필드의 갱신이 불가능하고, 그리고 JOIN 이 불가능합니다. 그러므로 이 문장은 궁극적으로 불가능한 문장이 되어 버린것 같습니다.
> 원하시는 작업을 하고자 할 경우 하나 query로는 불가능하면 부분별로 나누어서 각각의 query를 실행해 주는 수 밖에 없습니다.
> (이건 간단히 하실 수 있겠지요.)
>
> > 2개의 Table이 있습니다.
> > 첫째 Table(std)에는 학번(no)과 이름, 성별, 생년월일, 주소 등의 학생에
> > 대한 전반적인 데이타가 기록됩니다.
> > 두번째 Table(tel)은 새로 입수된 학생들의 전화번호(telno)가 기록되어
> > 있습니다.
> > 물론 두 Table에는 공히 학번 Field가 있으며, 이를 이용하여 Join할 수
> > 있습니다.
> > 하지만, 두번째 Table은 임시적인 Table로써, 첫째 Table에 새로운 필드를
> > 추가하여, 둘째 Table값을 일괄 변경하고 삭제하려 합니다.
> > 그래서,
> >
> > UPDATE std INNER JOIN tel ON std.no = tel.no SET std.telno=tel.telno;
> >
> >
> > 와 같이 두 Table을 INNER JOIN하여 학번(no)이 일치하는 레코드에 대하여
> > 전화번호를 갱신하려 했는데, MySQL에서는 위와같은 SQL 문을 지원하지 않
> > 는듯 합니다.
> >
> > 위의 목적을 달성할 수 있는 방법을 알려주시기 바랍니다.
> >
> > * SQL은 넘 어려워요~ 하지만, 재밌어요~ :-)
>
|