2016-10-27 2 views
2

다른 열 이름이 동일한 식별자가있는 table2의 열이 특정 필드에 1 인 경우 table1에서 열을 반환해야합니다.MySql table2의 열이 1이면 테이블 1에서 선택

table1

표 2

alt1888 여기서 I는 table1에서 item_code 222를 검색하고자 본 예에서는

table2

먼트 ut alt1item의 경우 1 인 경우에만 table2에 입력하십시오.

많은 인라인 쿼리와 LEFT JOIN 변종을 시도했지만 아무 것도 실제로 작업을 수행 할 수없는 것 같습니다. 내가 해봤 모든 버전을 작성하는 것은 그들 중 누구도 일하지 것처럼 무의미하지만 예는 다음과 같습니다

SELECT item_code FROM table1 WHERE alt1 = "888" 
AND (SELECT item FROM table2 WHERE item = "222" AND alt1 = 1) 

(가) 위의 아마 내가 해봤 뭔가의 가장 좋은 예는 아니지만 아무도 이후 그들은 지금까지 아무런 문제가되지 않았습니다. 어떤 도움이라도 대단히 감사합니다.

답변

5

이 작동이

SELECT item_code from table1 INNER JOIN 
table2 
ON table1.item_code = table2.item where table2.alt1 = 1 and table1.alt1 = 888 

희망을 봅니다.

+0

정말로 감사합니다! – JoeP

3

당신은 JOIN 절을 사용할 수 있습니다

SELECT t1.item_code 
FROM table1 t1 
JOIN table2 t2 ON t1.item_code = t2.item AND t2.alt1 = 1 
WHERE t1.alt = 888 
2
SELECT item_code FROM table1 t1 JOIN table2 t2 
     ON t1.item_code = t2.item_code 
WHERE t1.alt1 = "888" AND t2.alt1 = 1 

?