먼저 제목이 미안하지만 어떻게 말해야할지 모르겠어요. 섹션, 페이지 및 읽기를 저장하기위한 3 개의 테이블이 있습니다.
테이블은 ...
섹션
idsection
sectiontitle
페이지
idpage
pagetitle
idsection
읽다
idread
idpage
time
나는 sections
같은 것을 나열하는 간단한 쿼리가 있습니다.
SELECT * FROM sections WHERE 1;
그러나 나는이 경우 보여줄 필요가 section
전혀왔다 read
의미, 모두 pages
같은과가 idsection
있었다 read
. 내가 상상할 수있는 유일한 방법은 복잡한 쿼리이며 PHP for
스크립트 를 사용하는 것이 더 간단 할 것 입니다.
아래에서 시도하십시오.
select * from section s where idsection not in (select page.idsection from
page where
page.idsection=s.idsection and idpage not in (select idpage from read));
페이지의 1 대신 모든 페이지를 확인해야하기 때문에 not in을 사용합니다. 따라서 읽지 않은 (읽지 않은) 페이지를 가져 와서 거기에 넣지 않아야합니다.
5 페이지가있는 섹션이 1 개 있고 모두 읽혀지면 세션을 선택하는 주요 쿼리를 만드는 하위 쿼리에 빈 결과가 표시됩니다.
9 페이지 만 읽은 10 페이지가있는 섹션이 1 개있는 경우 하위 쿼리에서 10 번 페이지를 제공하지 않고 기본 쿼리의 섹션을 비워 둡니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다