WordPress mysql 데이터베이스의 여러 범주에 속하는 게시물을 나열하려고합니다.
내가 사용하는 진술은 다음과 같습니다.
SELECT *
FROM wp_term_relationships
INNER JOIN wp_posts ON wp_term_relationships.term_taxonomy_id IN (12,18,19,20,4161,4157,4160,4168,4183,4185,4188,4190,4192,4195,4199,4200,4202,4205,4332)
AND wp_term_relationships.object_id = wp_posts.ID
AND wp_posts.post_status = 'publish'
문제는 일부 게시물이 여러 카테고리에 할당되어 결과에 많은 중복이 있다는 것입니다. 고유 한 게시물 만 얻으려면 어떻게합니까? 즉, 게시물이 여러 카테고리에 할당 된 경우 카테고리 아래에 한 번만 나열되어야합니다.
DISTINCT
문과 함께 표시해야하는 필드 만 SQL에 추가하고 조인 문도 조정합니다.
SELECT DISTINCT wptr.object_id,
wptr.someOtherFields,
wp.anotherfield
FROM wp_term_relationships wptr
INNER JOIN wp_posts wp ON wptr.object_id = wp.ID
WHERE wptr.term_taxonomy_id IN (12, 18, 19, 20, 4161, 4157, 4160,
4168, 4183, 4185, 4188, 4190, 4192,
4195, 4199, 4200, 4202, 4205, 4332)
AND wp.post_status = 'publish'
DISTINCT
절을 추가하면 중복 항목이 제거됩니다. 필드를 지정하는 것이 좋습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다