db 쿼리에 관해서 조언을 구합니다..

DB쿼리 문에 대해서 문의좀 드릴게요..
좀 어거지성으로 예제 드려서 난해한감이 있네요..

다음과 같이 테이블이 있을때, 어떻게 처리 하는게 좋은 방법인지..
의견을 구합니다..


mydb=> select * from 상품;
 번호 |  카테고리 | 모델 | 상품명
----------------+------+------
   1  |   핸드폰  | hp01 | 삐삐롱폰
   2  |   시계    | wa01 | 얼마니시계
   3  |   모니터  | mo01 | 흑백모니터
   4  |   핸드폰  | hp02 | 애니토라
   5  |   시계    | wa02 | 팔에감어시계
   6  |   시계    | wa03 | 짝퉁시계
(6 rows)


mydb=> select * from 소유자;
 번호 |  모델 | 이름    | AS위치
----------------+------+-------
   1  |  hp01 | 이병혼  | 서울
   2  |  wa01 | 김대히  | 광주
   3  |  mo01 | 나명품  | 평양
   4  |  hp02 | 안성귀  | 인천
   5  |  wa02 | 피카추  | 외계
   6  |  wa03 | 이병혼  | 서울
   7  |  hp02 | 나명품  | 평양
   8  |  wa03 | 나명품  | 평양
   9  |  wa03 | 나명품  | 평양
(9 rows)


상품.모델 과 소유자.모델은 PK와 FK로 연결
상품 에서 모델명을 삭제 할때 소유자의 모델넘버 모두 삭제 하고 자 할때

Ex) DELETE FROM `상품` WHERE `상품`.`모델` = wa03
    을 했을경우, 소유자 필드의 wa03 으로 된 나명품으로 등록된 내용이 전부 같이 삭제 되고자 함

검색은 INNER JOIN 한다고 했을때..
SELECT * From `소유자` INNER JOIN `상품` on (소유자.모델 = 상품.모델)

삭제 처리를 하고자 하는데, 어떻게 처리를 해야 할지 모르겠네요..



좋은 방법 있으면 조언 부탁드릴께요..

예제문 함께 주시면 더 감사드리구요 ㅠㅠ

|

댓글 7개

delete from `소유자` where 모델 in (select 모델 from `상품` where 상품명='$상품명')
이런 걸 말씀하시는건가... 질문이 이해하기 어려워요 ^^;
쿼리 적용해보구요~ 이해가 좀 가는거 같아요~;;
제가 말주변이 없어서 ㅠㅠ 간단한 문제를 복잡하게 돌리는 경향이 ㅠㅠ
말러님 위와 같이 쿼리를 실행 하였는데요, 각각 하나씩의 테이블 내용만 삭제가
되네요.. 제가 원하는건, 상품의 테이블에서 모델항목을 지웠을때 소유자테이블의
모델도 지워 지는건데요...
제가 이해를 잘못해서 그런걸까요?
말러님이 잘설명해주셧는데 서브쿼리 지원되는 서버면 말러님 문장 하나로 되실텐데요
초보라서 이래저래 에로사항이^^;; 있어서요~
응용하고 적용하는데 ㅠㅠ 시간이 배로 걸리네요.ㅠ
조인시켜서 하나의 쿼리로 두 테이블에서 삭제를 하고 싶다는 뜻이군요.
다음을 테스트해보세요.

delete a, b from `상품` as a, `소유자` as b where 모델='$모델' AND a.모델 = b.모델
말러83 님 감솨~^^ㅎ~ 해결했습니다.
즐거운 주말 보내세용~~
댓글을 작성하시려면 로그인이 필요합니다. 로그인

자유게시판

+
제목 글쓴이 날짜 조회
16년 전 조회 1,366
16년 전 조회 1,195
16년 전 조회 1,792
16년 전 조회 1,373
16년 전 조회 1,309
16년 전 조회 2,828
16년 전 조회 2,013
16년 전 조회 1,312
16년 전 조회 1,127
16년 전 조회 1,483
16년 전 조회 1,276
16년 전 조회 1,182
16년 전 조회 1,293
16년 전 조회 1,107
16년 전 조회 1,652
16년 전 조회 1,414
16년 전 조회 1,430
16년 전 조회 8,019
16년 전 조회 1,299
16년 전 조회 1,747
16년 전 조회 1,780
16년 전 조회 1,464
16년 전 조회 1,623
16년 전 조회 1,629
16년 전 조회 1,362
16년 전 조회 2,105
16년 전 조회 2,020
16년 전 조회 1,582
16년 전 조회 1,811
16년 전 조회 1,230
🐛 버그신고