게시물, 용어 및 관계가 3 개 있습니다.여러 테이블에서 MySQL 하위 쿼리 오류가 발생했습니다.
게시물 테이블 :
ID title
1 abc
2 cdf
용어 테이블 :
term_id slug
1 jeans
2 shirts
관계 테이블 : 나는 "청바지"가 제목을 나열하려고하는 데 사용
object_id taxonomy_id
1 1
2 1
MySQL의 쿼리 그들과 관련된
SELECT posts.title
FROM posts, terms, relationships
WHERE (SELECT terms.term_id FROM terms WHERE terms.slug LIKE '%jeans%')
AND (SELECT relationships.object_id FROM relationships WHERE terms.term_id = relationships.taxonomy_id)
AND (posts.ID = relationships.object_id)
오류 # 1242 - 하위 쿼리가 두 개 이상의 행을 반환합니다. 이 문제를 어떻게 해결할 수 있습니까? 나는 당신의 테이블이없는, 그래서 테스트 할 수 없습니다
SELECT posts.title
FROM posts INNER JOIN relationships ON (posts.ID = relationships.object_id)
INNER JOIN terms ON (terms.term_id = relationships.taxonomy_id)
WHERE terms.slug LIKE '%jeans%';
을,하지만 난이 일을해야한다고 생각 :
귀하의 SQL 문이 잘못되었습니다. WHERE 및 AND의 직후에 열 이름이 필요합니다. –