책 내용 질문하기
2010년 1회 엑세스 문제4 1번 쿼리
도서
[2012] 컴퓨터활용능력 1급 실기(엑셀, 액세스 2007 사용자용)
페이지
조회수
53
작성일
2013-01-18
작성자
첨부파일

1. 판매되지 않은 제품정보를 검색하는 '제품정보'쿼리를 다음과 같이 작성하시오.

-<제품>테이블을 사용할 것

-<판매내역>테이블에 없는 제품코드는 판매되지 않은 제품임

-제품코드가 'c'와 'z'로 시작되는 데이터만 표시 할 것

-not in 연산자와 left, instr 함수를 사용할 것

답)

필드 제품코드 제품명 제품단가 그룹제품코드: Left([제품코드],InStr([제품코드],"-")-1)

테이블 제품 제품 제품

조건 Not In (select 제품코드 from 판매내역) Like "c*" Or Like "z*"

질문)

제품코드의 왼쪽에서 "-"까지이니까 left 2 가된다는 건 알겠는데 뒤에 -1은 무슨뜻이죠???

답변
2013-01-21 08:13:13
제품코드가 C-0001, C-0002, CB-0026 과 같이 입력되어 있습니다. 이중 하이픈 이 나오기 전까지 이니

C , CB ,CZ 등과 같이 - 전의 알파벳만 표시하라는 말이지요.

InStr 함수는 한 문자열 안에 특정 문자열이 처음으로 나타난 위치를 지정하는 것입니다.

instr([제품코드],"-") 라고 하면 - 이 처음 나타난 위치를 지정 하게 되죠. 그래서 2가 됩니다.

2에서 -1 을 하여 왼쪽에서 첫번째 자리를 찾기 위해 left 함수도 사용된 것이죠.

만약 CB-0026의 경우는 -의 위치가 3이 되니깐 3-1 을 하여 2 즉 왼쪽에서 두번째 자리까지 추출 하게 되는 것입니다.

좋은 하루 되세요.

"
  • *
    2013-01-21 08:13:13
    제품코드가 C-0001, C-0002, CB-0026 과 같이 입력되어 있습니다. 이중 하이픈 이 나오기 전까지 이니

    C , CB ,CZ 등과 같이 - 전의 알파벳만 표시하라는 말이지요.

    InStr 함수는 한 문자열 안에 특정 문자열이 처음으로 나타난 위치를 지정하는 것입니다.

    instr([제품코드],"-") 라고 하면 - 이 처음 나타난 위치를 지정 하게 되죠. 그래서 2가 됩니다.

    2에서 -1 을 하여 왼쪽에서 첫번째 자리를 찾기 위해 left 함수도 사용된 것이죠.

    만약 CB-0026의 경우는 -의 위치가 3이 되니깐 3-1 을 하여 2 즉 왼쪽에서 두번째 자리까지 추출 하게 되는 것입니다.

    좋은 하루 되세요.

    "
· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.