2012-06-11 3 views
1

현재 티켓에 2 개의 테이블이 있습니다. 표 1은 표이고 표 2는 대표자이다.SQL - 2 개의 테이블 검색 및 하나의 결과 반환

나는 현재이 작동

select id, subject, description 
from tickets 
where subject like '%hello%'; 

할 수 있지만 같은 필드를 반환하려면하지만 인사는 응답 테이블의 메시지 필드를 일치합니다.

예. 내가 할 수 있기를 바랬습니다 :

select id, subject, description 
from tickets, responses 
where tickets.subject like '%hello%' OR responses.message like '%hello%'; 

티켓 표는 ticket 테이블의 id와 같습니다.

답변

0

을 기록 :

select tickets.id, tickets.subject, tickets.description 
    from tickets, responses 
    where 
    tickets.id = responses.id and 
    (tickets.subject like '%hello%' or 
     responses.message like '%hello%') 
0 티켓은 응답하지 않고 존재할 수있는 경우

는 :

select tickets.id, tickets.subject, tickets.description 
    from tickets left outer join responses on tickets.id = responses.id 
    where 
    tickets.subject like '%hello%' or 
    responses.message like '%hello%' 
+0

예이 기능은 매우 효과적입니다! 나는 분명히 그들이 모든 차이를 만들었던 괄호를 놓치고 있었다! – jonny

+0

나를 투표해라, 임마! – Tony

+0

그는 할 수 없다; 그는 명성이 없다. 그러나 그는 귀하의 응답을 정확하게 받아 들일 수 있습니다. – SimplyPanda

0

제대로 이해했다면 티켓 테이블의 결과 만 원하면 되나요? tableName.*을 사용하거나 tableName.columnName을 사용하여 원래 테이블의 결과 만 가져올 수 있습니다. 당신은 아마 왼쪽 필요

select tickets.id, tickets.subject, tickets.description 
from tickets, responses 
where tickets.id = responses.id 
AND (tickets.subject like '%hello%' 
OR responses.message like '%hello%') 
+0

안녕 예를 잘 이해하고 위의 내가 시도했지만 그냥 교수형 무엇을 – jonny

+0

죄송합니다, 수정했습니다 (또한 내가 ... 등의 ands에 넣어) . 지금 편집되었습니다. – Seth

0

가입 -

select id, subject, description 
from tickets left join responses on tickets.id = responses.ticketid 
where tickets.subject like '%hello%' OR responses.message like '%hello%'; 

[수정] LEFT이

0

가입 당신은 테이블에 가입해야합니다 : 항상 답변이있을 경우

SELECT `tickets`.`id`, `tickets`.`subject`, `tickets`.`description`, `responses`.`message` 
LEFT JOIN `responses` ON `tickets`.`id` = `responses`.`id` 
WHERE `tickets`.`subject` like '%hello%' OR responses.message like '%hello%' 
관련 문제