2014-07-20 4 views
-1

세 개의 테이블을 만들고 쿼리가 제대로 작동하지만 두 개의 열을 연결하려고하는데 오류가 발생합니다.결합 된 두 개의 쿼리를 어떻게 연결할 수 있습니까?

이 코드는 아래 3 개 가지 테이블

이 코드 CONCAT가 작동
(SELECT 
    programme_date, prog_start_time, walk_title, guide_fname, guide_sname 
FROM 
    programme, walk, guide) 

에서 정보를 가져옵니다.

SELECT CONCAT(guide_fname, guide_sname) AS guide_fullname 
FROM guide 

두 쿼리 모두를 하나의 쿼리로 결합하는 것이 좋습니다. 누구든지 제발 도와 줄 수 있니?

감사합니다.

+1

PRIMARY 키와 INNER JOIN 또는 다른 JOIN을 사용하여보세요. 나는 그것이 당신이 필요하다고 생각합니다. 귀하의 질문은 이해하기 어렵습니다. –

+0

나는 당신이 시도한 실패한 쿼리를 질문에 제공 할 것을 제안합니다. 또한 테이블의 구조를 아는 것이 도움이 될 것입니다. –

+0

빠른 응답을 보내 주셔서 감사합니다. 내가 필요한 것은 전체 이름을 필드 호출에 (programme_date, prog_start_time, walk_title, guide_fname, 프로그램에서 guide_sname , 도보 가이드를 선택) – user3812952

답변

0

저는 테이블의 구조와 관계를 가정하고 설명하려고합니다.

INNER JOIN을 사용하여 PRIMARY KEY 및 관련 FOREIGN KEY 열을 사용하여 함께 테이블을 조인해야합니다. 또한 대신 CONCAT_WS을 사용하는 것이 좋습니다. 이는 NULL 값을 더 잘 처리합니다.

SELECT programme_date, prog_start_time, walk_title, CONCAT_WS(' ', guide_fname, guide_lname) as fullname 
FROM programme AS p 
INNER JOIN walk AS w ON w.programme_id = p.id 
INNER JOIN guide AS g ON g.id = w.guide_id 
관련 문제