project
하나가 복수 categories
에 속할 수있는 모듈을 구현하는 데 문제가 있습니다. 예 : 프로젝트 "PHP Programmer"는 Programming, PHP 카테고리에 속합니다. 다음 쿼리 (카테고리 1,3,11에 속하는 선택 프로젝트) 가정MySQL LEFT JOIN 중복 결과
: 2 경기에서가 있기 때문에
SELECT projects.* FROM projects
LEFT JOIN pojects_category on projects.id = pojects_category.project_id
WHERE pojects_category.category_id IN (1,3,11) and projects.id='94'`
을 나는 a를 같은 프로젝트를 두 번 반환받을 project_id
에 대한 project_category
테이블 = 94
표 projects_category
스키마
CREATE TABLE IF NOT EXISTS `pojects_category` (
`project_id` int(10) NOT NULL,
`category_id` int(10) NOT NULL,
KEY `category_id` (`category_id`),
KEY `project_id` (`project_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `pojects_category` (`project_id`, `category_id`) VALUES
(94, 3),
(94, 1);
내가 누락 된 것이 있습니까?
솔루션 : GROUP BY
또는 DISTINCT
각 프로젝트 중 하나만 원하면 쿼리에 GROUP BY project_id를 추가하십시오. – mariusnn
@mariusnn 감사합니다. 작동합니다! – technology
그룹을 사용하지 마십시오. 내 설명을 참조하십시오. – Sebas