2011-12-28 3 views
1

다음 쿼리를 함께 병합 할 수 있습니까?두 개의 MySQL 쿼리를 병합하는 방법

내가 제목

SELECT ID FROM 'social_objects_single' 
WHERE 'title' LIKE '%indian%' LIMIT 0 , 30 

어떻게 특정 제목과 하위 그룹 (23)의 객체를 얻을 수있다, 나는 너무이 검색을

SELECT ID FROM social_objects 
WHERE subgroup='23' ORDER BY time_created DESC LIMIT 0 , 30 

을 사용하여 특정 유형의 모든 개체를 얻으려면?

+0

두 테이블은 어떻게 관련되어 있습니까? – JonH

+0

social_objects와 social_objects_single 간의 관계 (공통 키)는 무엇입니까? – Icarus

+0

social_objects 테이블에는 사용자, 블로그 등의 모든 social_objects의 ID가 들어 있습니다. social_objects_single 테이블에는 이러한 객체에 대한 전체 정보가 들어 있습니다. 따라서 검색을 수행하려면이 두 테이블을 모아 ID에서 가져와야합니다. – user632347

답변

2

을 경우 social_objects_single가이 작업을 수행 할 수있는 social_objects 테이블과 같은 ID :

SELECT so.ID FROM social_objects so 
INNER JOIN social_objects_single soi ON soi.ID = so.ID 
WHERE so.subgroup = 23 AND soi.title LIKE '%indian%' 
ORDER BY so.time_created DESC LIMIT 0, 30; 
+0

일반적으로 ID는 각 테이블에서 고유 할 것이므로 부모가 이미 ID 인 경우 ID로 외래 키의 이름을 지정하지 않아도됩니다. – JonH

+0

@krister : 어떻게 추가 AND를 추가 할 수 있습니까? social_objects 테이블에서 오브젝트가 사용 가능한지 확인하기 위해 점검해야합니다. 왜냐하면 나는 비활성 물을 보여주고 싶지 않기 때문이다. so.subgroup = 23 AND soi.title LIKE % indian %. * so.active = 'yes'* – user632347

+0

@JonH : 하위 그룹과 상관없이 검색어와 일치하는 모든 콘텐츠를 반환합니다. 그것을 고치는 방법? – user632347

4

두 테이블은 어떻게 관련되어 있습니까? 그들 모두는 당신이 내부 조인 ID 및 사용과 결합하는 조건을 참조하는 경우 :

SELECT Parent.ID, Child.ID 
FROM ParentTable 
INNER JOIN ChildTable ON ParentTable.ID = ChildTable.ForeignKeyID 
WHERE Parent.ID = 23 AND Title LIKE '%indian%' 
+0

ForeignKeyID는 무엇이되어야합니까? – user632347

+0

@ user632347 - 테이블을 서로 연결하는 방법은 무엇입니까? 부모와 자식 테이블 간에는 관계가 있어야합니다. 그래서 내가 쓴 것을 가져 와서 그 관계가 어떻게 존재 하는지를 채울 수 있어야합니다. 예를 들어, 하나의 테이블에 기본 키 ID가 있습니다. 예를 들어 사용자 테이블과 클래스 테이블이있는 경우 기본 키가 연결된 테이블에 표시됩니다 (외래 키로 일반적으로 동일한 열 이름 사용). 여기서 사용자는 세 번째 테이블에 UserID와 ClassID를 갖게됩니다. UserID는 사용자 테이블을 참조하고 ClassID는 클래스 테이블을 참조합니다. – JonH

0

SELECT SO.ID,SOS.ID
FROM social_objects SO ,social_objects_single SOS
WHERE SOS.title LIKE '%indian% and SO.subgroup=23 and SOS.id =SO.subgroup_id

테이블이 연결되어 있으므로 마지막 조건 인 SOS.id = SO.subgroup_id를 바꿔야합니다.

관련 문제