2016-12-05 3 views
-3

테이블에 올바른 데이터를 삽입하는 데 문제가 있습니다. 나는 다음과 같이 테이블이 : 데이터 테이블은 여기하위 쿼리/조인을 사용하여 열 삽입

있습니다

극장 (극장 #, 이름) • 생각하다 (TR 번호, RowName, ROWTYPE, 극장 #) Tseat •
(TS 번호 •
, SeatNo, TR 번호)
• 시즌 (시즌 #, SeasonName, 년)
생산 (P 번호, 시즌 번호, 제목) • ProductionRun (P 번호, 극장 #)
• 성능 (# 당 •
, P #, Theater #, Weekday)
• 클라이언트 (클라이언트 #, 이름)TicketPurchase (구매 번호, 고객 번호, # 당, TotalAmount, TS 번호) •

내 테이블입니다 아래와 같이 예를 들어 :

ProductionMy (P 번호, 제목) •

이 테이블에 나는 테이블 생산 및 테이블 성능에서 # 당 열이 표에 # 당 열을 일치하는 경우에만 행을 삽입 할 수의 열 P 번호제목

TicketPurchase을 삽입 할

예를 들어 다른 테이블은 다음과 같습니다

TimeID (TimeID, 월, 년, 요일, SeasonName) •

내가 시즌 테이블에서 테이블 성능 및 SeasonName에서 시간의 고유 한 인스턴스를 삽입해야합니다 기준에 따라 단위 :성과 표 및 티켓 구매 테이블이 일치합니다. (별개의
추출물 pDate에서 (월) 월 pDate에서, 추출물 (년)를 선택 에서 시간을 선택 time_seq.nextval, 월, 년, 요일에

삽입, SeasonNAme : 나는 어떤 성공보다, 예를 들면 시도 연도, 평일, SeasonName 성능, 시즌);

또는 다른 예는이 .I 테이블 :

은 는 는

는 TRowMY 내가 ROWTYPE에서 여기에 데이터를 삽입 할

(TR 번호, ROWTYPE), TR 번호 ROWTYPE 테이블에 열을 기반으로 해당 TS # 열 TicketPurchase 표에 TS #TSeat 표 일치합니다.

또는 다른 예를 들어, 내 테이블 :

ClientMy (고객 번호, 이름)

나는 열을 클라이언트 번호를 삽입 할 열 클라이언트에서 이름 경우에만 클라이언트 #을에 클라이언트 테이블 클라이언트TicketPurchase 테이블에 일치합니다.

기본적으로 테이블에있는 모든 성능, 시즌 또는 제작/클라이언트가 TicketPurchase 테이블에있는 것은 아니므로 티켓 판매와 관련된 데이터를 삽입해야합니다.

나는 정말로 여기에 갇혔다. 적어도 약간의 테이블을 가지고 나를 도울 수 있었으면, 내가 쉬는 사람을 생각해야 할 것이다.

희망 나는이 잘 ...

감사합니다,

답변

0

난 당신이 이런 식으로 뭔가를 찾고 생각 설명했다.

INSERT INTO ClientMy(id, name) 
SELECT Client#,Name FROM Client AS C1 WHERE Client# IN (SELECT Client# FROM 
TicketPurchase WHERE Client# = C1.Client#) 

아마도 내가 틀 렸지만 어쩌면 내가 원하는 것을 완전히 이해하지 못했을 것이라고 생각합니다.