하나의 테이블 (작업)뿐만 아니라 다른 관련 테이블 (활동)에서 검색하는 검색 기능을 구현하려고합니다. 활동에는 그것이 속하는 타스크 (타스크 테이블의 키 ID)가 식별되는 열 이름 타스크가 있습니다. 내가 작업 테이블을 검색하는 방법은 다음과 같습니다PHP에서 두 개의 sql 쿼리 결과 병합
SELECT
tasks.*
FROM
tasks
WHERE
(
(
tasks.description LIKE '%$search%'
OR tasks. NAME LIKE '$search%'
)
AND tasks. USER = '$userid'
);
방법 내가 활동 테이블 인 검색 :
SELECT DISTINCT
tasks.*
FROM
activities,
tasks
WHERE
tasks. USER = '1'
AND activities.description LIKE '%$search%';
는 각각의 쿼리가 작동하고 모두 반환 작업 테이블 데이터. 내가하고 싶은 일은 (PHP에서) 두 결과를 병합하여 모든 테이블 작업 항목을 반복없이 만 얻는 것입니다.
어떻게하면됩니까?
왜 두 개의 쿼리를 실행하고 나중에 array_merge()를 사용하여 병합하지 않을까요? (물론 성능 관련 문제는 아닙니다.) –
어떻게 결합해야합니까? 활동과 태스크의 결과가 서로 관련이없는 경우 array_merge를 사용할 수 있습니다. 그렇지 않으면 반환 된 배열을 반복하고 일치시켜야합니다 (그렇다면 SQL에서 조인을 고려해야 할 것입니다). – SheperdOfFire
이것이 나에게 발생하는 방법이었습니다. 필자는 지능형 SQL 쿼리 솔루션을 선호합니다. – aarelovich