2015-01-23 2 views
0

두 테이블이 있는데 하나의 테이블에서 하나의 키 필드를 사용하여 선택 작업을 수행하려고합니다. 내가다른 테이블의 다른 필드를 사용하여 하나의 테이블에서 데이터를 선택하는 방법

table_1data1를 사용 table_2에서 데이터를 선택하려고

--------    -------- 
table_1     table_2 
--------    -------- 
id      id 
name     data2 
data1     data3 
--------    data4 
         data5 
         table1_id(FK) 
         -------------- 

나는이 문장을 시도하지만,이 문장을 만드는 방법 빈

SELECT data2, data3, data4 
FROM table_2 
INNER JOIN table_1 on table_1.data1 = table_2.table1_id 
WHERE data1.table_1=? and data5.table_2=? 

의 결과를 제공?

+2

조인이 'INNER JOIN table_1 on table_1.id = table_2.table1_id'이 아니어야합니까? 또한 where 절은 테이블 및 열 이름을 전환 한 것처럼 의미가 없습니다. 성취하고자하는 것이 무엇인지 명확히하기 위해 샘플 데이터와 예상 결과를 추가 할 수 있습니까? – jpw

+0

이고'where table_1.data1 = .. and table_2.data5 = .. '이어야합니다. –

+0

@jpw 감사합니다. 결과를 얻을 수 있습니다. 나는 새로운 것이므로 나는 좋은 데이터베이스 설계를 할 수 없다. PHP를 사용하여 내 웹 서비스 API에서이 쿼리를 사용하려고합니다. – user3909370

답변

0

는 조건을 가입 귀하와 귀하의 상태가 이상한 같습니다

이 시도 :

SELECT data2, data3, data4 
    FROM table_2 
INNER 
    JOIN table_1 ON table_1.id = table_2.table1_id 
WHERE table_1.data1 = ? AND table_2.data5 = ? 
+0

table2.data5 where 절 –

+0

@RandykaYudhistira : 고마워, 바로 잡았어. – DirkNM

0

당신은 자신의 기본 및 외래 키에 의해 테이블에 가입하고 열 이름 전에 먼저 테이블 이름을 작성해야

SELECT data2, data3, data4 
FROM table_2 
INNER JOIN table_1 
    on table_1.id = table_2.table1_id 
WHERE table_1.data1=? and table_2.data5=? 
관련 문제