2012-01-29 5 views
0

나는 이걸로 조금 붙어있다. 내가 원하는 것은 업데이트 app_name (첫 번째 테이블)이다. 그것은 단지 아니라,두 번째 테이블의 데이터를 사용하여 하나의 테이블을 업데이트하는 방법

UPDATE tbl_m_app AS tma, tbl_measure AS tm 
SET tma.app_name='Ap1' 

WHERE (tm.mesure_id = tma.mesure_id 
AND tm.live = 1) 
+1

질문에 PHP에 관한 정보가 전혀 없습니다 – zerkms

+0

여기에 더 자세한 정보가 필요합니까? 몇 가지 값에서 간단히 업데이트 하시겠습니까? 아니면 동일한 구조화 된 테이블에서 다른 동일한 구조화 된 테이블로 '이동'하시겠습니까? – Jakub

+0

내가 원하는 것은 두 번째 테이블 mesure_id에 단 하나의 레코드에 해당하는 변수 (PHP)에 app_name을 설정하는 것입니다 AUTO_INCREMENT – Hia

답변

1

더 확실한 방법과없이 같은 일을 할 것이 쿼리는

UPDATE tbl_m_app AS tma 
SET tma.app_name='Ap1' 
WHERE tma.mesure_id IN (SELECT tm.mesure_id FROM tbl_measure AS tm WHERE tm.live = 1) 
+0

이상한 ...하지만이 하나는 나를 위해 일했습니다! 감사! :) – Hia

0

내가이 SQL 잘 생각 조인 ... 오류를 반환하지 않습니다 ..하지만 아무것도하지 않는 모든 행과 일치합니다.

SELECT * FROM tbl_measure tm WHERE tm.live=1; 

0 행이 반환 오른쪽 : 절은 어디에 같은으로 선택을 사용하여

확인이?

+0

그것은 일부 행을 반환하지만 (mesure_id + live) 단 하나입니다 – Hia

+0

@Hia 그러면 조인 조건은 어떻습니까? '선택 COUNT (*)에서 tbl_m_app AS tma, tbl_measure AS tm 어디 tm.mesure_id = tma.mesure_id 및 tm.live = 1' – Howard

+0

반환 : COUNT (*) 1 – Hia

관련 문제