에 다른 테이블의 행 조건을 추가 할 수 없습니다 :내가이 쿼리를 내 SQL 쿼리
SELECT ... FROM ... WHERE EXISTS ... AND WHERE 'visible' = 1 of 'ft_projetcs' TABLE
나는 많은 것을 시도해 봤지만 잘못된 생각을하고 있습니다. 어떤 도움이 필요합니까?
에 다른 테이블의 행 조건을 추가 할 수 없습니다 :내가이 쿼리를 내 SQL 쿼리
SELECT ... FROM ... WHERE EXISTS ... AND WHERE 'visible' = 1 of 'ft_projetcs' TABLE
나는 많은 것을 시도해 봤지만 잘못된 생각을하고 있습니다. 어떤 도움이 필요합니까?
모르겠다. 문제가 옳았다는 것을 알고 있지만 내부 결합을 원한다고 들릴 수 있습니까? 이런 식으로 뭔가를 시도 : 당신이 당신의 가입 조건을 조정해야 물론
SELECT category_name, category_id, category_slug
FROM categories
inner join ft_projects on ft_projects.category_id = categories.id
WHERE EXISTS (
SELECT 1
FROM assigned_categories
WHERE assigned_categories.assigned_category_id = categories.category_id
)
and ft_projects.visible = 1
을의는 "ft_projects.category_id = categories.id에"그냥 예입니다.
중요한 것은 : 당신이 현재 상태에서 달성하고자하는 것이 내부 조인을 통해 더 잘 해결된다고 생각합니다. (적어도 귀하의 열 이름을 기반으로합니다).
좋아도 그것을이했던 트릭 :
SELECT category_name, category_id, category_slug
FROM categories
WHERE EXISTS (
SELECT 1, visible
FROM assigned_categories
JOIN posts ON assigned_categories.assigned_post_id = post_id
WHERE assigned_categories.assigned_category_id = ft_categories.category_id AND visible = 1
)
이 질문은 [이]로 계속 (이라고 생각 http://stackoverflow.com/questions/9247298/mysql-join-with-3 -tables-trick) –