이 테이블이 있습니다. 이 MySQL 쿼리의 문제점
id name parents
1 Apparel
46 Apparel 1
47 Child Apparel 1,46
49 Child Apparel 2 46,1
나는이 쿼리를 시도하고 그것을 잘 작동합니다.
SELECT * FROM categories WHERE 1 IN (parents)
id name parents
46 Apparel 1
47 Child Apparel 1,46
왜이 쿼리가 2 대신 1 레코드를 가져 오나요?
SELECT * FROM categories WHERE 46 IN (parents)
id name parents
49 Child Apparel 2 46,1
첫 쿼리는 결과로 3 행을 반환합니다. 그것은 무엇입니까? 다 대 다 관계 같은 것? 두 쿼리가 동일하게 작동하면 부모가 지정된 번호에서 시작하는 행을 반환합니다. – teran
디자인이 First Normal Form을 위반하며 가능한 경우 수정해야합니다. http://en.wikipedia.org/wiki/First_normal_form – heikkim
@teran 네 말이 맞아. – Neutralizer