작성
·
273
1
고객(고객ID(PK),고객명,나이)
추천컨텐츠(고객ID(FK),컨텐츠ID(FK),추천대상일자)
비선호컨텐츠 (고객ID(FK),컨텐츠ID(FK),등록일시)
컨텐츠(컨텐츠ID,컨텐츠명)
위와 같은 테이블4개가 존재
[설명]매일 배치작업을 통해 고객에게 추천할 컴텐츠를 새엉하고 고객에게 추천서비스를 제공한다. 추천컨텐츠 엔티티에서 언제 추천을 해야하는지를 정히하는추천대상일자가 있어 해당일자에만 컨테츠를 추천해야한다.
또한 고객이 컨텐츠를 추천 받았을 떄 선호하는 컨테츠가 아닌 경우에는 고객이 비선호 컨텐츠롤 분류하여 더 이상 추천 받기를 원하지 않는다 그러므로 우리는 비선호 컨텐츠 엔티티에 등록된 데이터에 대해서는 수행을 하지 않아야 한다.
위 설명을 참고해서 아래와 같은 쿼리를 작성할 수 있을때 , #custid#에서 #은 어떤 용도로 쓰이는지 궁금합니다.
SELECT C.컨텐츠ID, C.컨텐츠명
FROM 고객 A Inner Join 추천컨텐츠 B
ON (A.고객ID = B.고객ID) Inner Join 컨텐츠 C
ON (B.컨텐츠ID = C.컨텐츠ID)
WHERE A.고객ID= #custid#
AND B.추천대상일자 = TO_CHAR(SYSDATE, 'YYYY.MM.DD')
AND NOT EXIST (SELECT X.컨텐츠ID
FROM 비선호컨텐츠 X
WHERE X.고객ID = B.고객ID);
답변 1
0
안녕하세요 소이님,
질문 남겨주신 내용은 별도로 답변을 받으신 걸로 알고 있어, 추가로 답변은 드리지 않도록 하겠습니다.
궁금한 점 있으시면 언제든 질문 남겨주세요 :)