2차원 배열 0 12 1,622

by 자이제시작이야 [PL/SQL] [2017.11.16 10:07:24]


2차원 배열

 

STUDENT(

key varchar2(10), --primary key

name varchar2(10),

no number)

 

실제 테이블의 값은 

key   name   no     contents

912   asasa   152   점심 드셨나요

182   aowo   692   식사 맛있게 드세요

  :        :         : 

이런 형태입니다.

 

for N in (select key from STUDENT) LOOP

 

N의 개수만큼 전체 loop를 돌 때,

1번째 key값에 해당하는 contents의 내용이 일정조건을 만족,불만족하냐를 체크해서 1번째 배열의 값이

(1    <- 만족          

1     <- 만족        

0     <- 불만족        

0)    <- 불만족

이렇게 나오게 하려고 합니다.

 

그래서 key값이 N(마지막)까지 돌았을 때, N번째 key값에 대한 배열까지 값을 모두 합쳐서

(1               (0              (0         (1

1        +       0     +       0   =>   1

0                 1              0          1

0)                0              1)         1)

 

이러한 형태로 만들고 싶어요..

합친 배열의 값이 >4 인것만 결과 테이블에 쌓으려고 합니다.

 

변수 선언부터 어떻게 해야할지 막막하네요...

도와주시면 감사하겠습니다 ...

 

by 마농 [2017.11.16 10:34:53]

~ 표시로 막연하게 적지 마시고 컬럼들을 명시해 주세요.
0 으로 막연하게 적지 마시고 수치를 적어 주세요.
N(1) + N(2) + N(3) 으로 막연한 표현 하지 마시고, 원본 대비 결과를 표 형태로 표현해 주세요.


by 자이제시작이야 [2017.11.16 12:21:39]

수정했습니다~!


by 마농 [2017.11.16 12:35:40]

실제 테이블의 값이 어떻게 들어 있나요?
원본 테이블 값을 보여주시고, 결과테이블 값을 보여주세요?
저 N(1), N(2) 로 표현한 배열 표현은 이해가 안가네요.


by 자이제시작이야 [2017.11.16 12:59:32]

수정했습니다!~


by 마농 [2017.11.16 13:02:51]

만족(1), 불만족(0) 데이터는 어디에 있나요?
별도의 테이블이라면 그것도 보여주세요.


by 자이제시작이야 [2017.11.16 13:19:20]

테이블은 없고...

contents의 내용이 정의한 함수의 조건을 만족한다면 count가 증가하는 식입니다.


by 마농 [2017.11.16 13:28:13]

student 테이블에 contents 가 있는 건가요?
contents 가 별도 테이블에 있나요?
별도로 잇다면 contents 의 키는 no 인가요?
함수는 사용자 함수인가요?
함수의 입력 인자는 뭔가요?
물어보는 것에만 찔끔찔끔 답변하지 마시고....
전체적인 그림을 그려주세요.
질문에 답변을 해야 하는데 오히려 제가 더 많이 질문하는 형국입니다.
지금 상태로는 PL/SQL 문법 공부하세요. 라는 답변밖에 못드립니다.


by 자이제시작이야 [2017.11.16 13:38:44]

앗 죄송합니다. 공부중에 있습니다...

student테이블에 contents가 있습니다.

함수는 사용자 정의 함수이고... 인자값은 contents,condition 인데

condition은 별도 테이블에 있습니다. 값은 ex) 식사, 저녁 ...


by 마농 [2017.11.16 13:43:44]

결과표를 자세히 그려주세요.
key, contents, condition 정보를 포함한 결과표를 보여주세요.
테이블 자료 예시도 보여주세요.


by 자이제시작이야 [2017.11.16 14:06:25]

 

 

실제 테이블의 값은 

key   name   no     contents

912   asasa   152   점심 드셨나요

182   aowo   692   식사 맛있게 드세요

  :        :         : 

이런 형태입니다.

 

결과 테이블엔 합쳐진 배열에 있는 원소들의 합이 >4 인 경우만 merge 해서

key   name   no     contents

912   asasa   152   점심 드셨나요

182   aowo   692   식사 맛있게 드세요

  :        :         : 

(조건을 만족한 경우)

이런 형태입니다.

 

시간 빼앗아 너무 죄송합니다..


by 마농 [2017.11.16 14:12:49]

"합쳐진 배열에 있는 원소들의 합이 >4 인 경우만 merge 해서"
이런 막연한 표현을 원한게 아닌데요.
이 표현 빼고는 그냥 다 위에서 언급햇던 그대로 바뀐게 없네요.
원본은 condition 도 보여주시고요.
student 와 condition 이 어떤 절차를 거쳐서 결과물이 나오는지?
결과물도 원본의 예시와 정확하게 일치하는 결과물을 보여주세요.
그래야 그 과정을 유추할 수 있지요.
그냥 원본이랑 결과랑 똑같네요.
왜 이런 결과가 나왔는지를 알수가 없네요.


by 자이제시작이야 [2017.11.16 14:56:19]

더 정리해서 오겠습니다...

시간 내주시고 친절한 답변 달아주셔서 감사합니다...

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입