1. 업데이트 쿼리에서 테이블 몇 개 띄워야 하는지 헷갈려요
강의 설명에는 원래는 하나만 띄워야 하는데 구급활동 테이블을 이용하래서..? 띄워야 한다? 라고 하시는데 이해가 잘 안 갑니다. 보통 조건이 2개인데 하나만 띄우는 경우도 있잖아요. 그 둘의 차이를 문제에서 어떻게 파악해야 하는지 궁금합니다
-> 혹시 제가 생각하는 게 맞는지 봐주세요
두 테이블 간, 조건 필드가 관계 설정이 돼 있으면 테이블은 하나만.
만약 관계 설정이 안 돼 있으면 테이블은 2개 필요.
그러니까 여기선 출동건수가 소방본부와 연결 된 필드가 없으니까 구급활동 테이블을 바운드 시키고 테이블도 그대로 둬야함.
그러나 만약 본부번호가 나머지 조건이었다면, 구급활동 테이블은 필요 없고 소방본주의 순번만 바운드해서 조건 주면 됨.
맞나요?
2. 업데이트 할 테이블만 띄우고. 그러니까 소방본부 테이블만 띄우고
소방본부 조건에 그냥 in(select max(출동건수) from 구급활동) 이라고 썼거든요??
이렇게는 틀린 답인가요?? -> 틀렸다면 왜 틀렸나요?
감사합니다
안녕하세요.
작성하신 쿼리는
'비고' 필드에 조건을 적용한 것으로
[비고] = In (select max(출동건수) from 구급활동)
와 같은 의미입니다.
즉 <구급활동> 테이블에서 '출동건수'가 가장 큰 값을 찾아 그 값을 '비고' 필드와 비교하는 것이죠.
이것은 올바른 질의가 아닙니다.
이렇게 하고 싶다면
<소방본부> 테이블에서 비교 대상은 '출동건수' 필드가 있는 경우입니다.
하지만 <소방본부> 테이블에는 '출동건수' 필드가 없으므로 '출동건수' 필드가 있는 <구급활동> 테이블을 화면에 표시한 후 <구급활동> 테이블의 '출동건수' 필드에 In (select max(출동건수) from 구급활동) 조건을 적용합니다.
<소방본부>와 <구급활동>은 '순번'과 '본부번호'로 관계가 설정되어 있으므로 <구급활동> 테이블에서 찾은 가장 큰 '출동건수'의 '본부번호' 필드와 연결된 '순번' 필드의 '비고' 필드에 업데이트가 적용되는 원리입니다.
즐거운 하루 되세요.
-
관리자2025-11-20 14:18:53
안녕하세요.
작성하신 쿼리는
'비고' 필드에 조건을 적용한 것으로
[비고] = In (select max(출동건수) from 구급활동)
와 같은 의미입니다.
즉 <구급활동> 테이블에서 '출동건수'가 가장 큰 값을 찾아 그 값을 '비고' 필드와 비교하는 것이죠.
이것은 올바른 질의가 아닙니다.
이렇게 하고 싶다면
<소방본부> 테이블에서 비교 대상은 '출동건수' 필드가 있는 경우입니다.
하지만 <소방본부> 테이블에는 '출동건수' 필드가 없으므로 '출동건수' 필드가 있는 <구급활동> 테이블을 화면에 표시한 후 <구급활동> 테이블의 '출동건수' 필드에 In (select max(출동건수) from 구급활동) 조건을 적용합니다.
<소방본부>와 <구급활동>은 '순번'과 '본부번호'로 관계가 설정되어 있으므로 <구급활동> 테이블에서 찾은 가장 큰 '출동건수'의 '본부번호' 필드와 연결된 '순번' 필드의 '비고' 필드에 업데이트가 적용되는 원리입니다.
즐거운 하루 되세요.