2013-03-12 1 views
0

분명 할 수 있지만 경험이 없으므로 어떻게해야하는지 알 수 없습니다. 여기에 질문이 있습니다. 나는 필드 ID, 이름, 시간, 가격 및 설명과 함께 table2있다. 또한, 이름, 시간 및 가격이 다른 table1있다. 가격이 임계 값보다 높으면 table1의 데이터를 삽입하고, 설명은 "가격이 임계 값 이상"을 원한다. 누구든지 그렇게 할 수있는 방법을 제안 할 수 있습니까? 미리 감사드립니다.같은 형식이 아닌 다른 테이블에서 데이터를 테이블에 삽입하기위한 MYSQL 구문

답변

1

이 ...

INSERT INTO `table2` (`name`, `time`, `price`, `explanation`) 
SELECT `name`, `time`, `price`, 'The price is above threshold' 
FROM `table1` 
WHERE `price` > 100 
+0

고맙습니다 SomeSillyName – user64066

0
NSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE] 
[INTO] tbl_name [(col_name,...)] 
SELECT ... 
[ ON DUPLICATE KEY UPDATE col_name=expr, ... ] 

INSERT ... SELECT으로 하나 이상의 테이블에서 많은 행을 신속하게 삽입 할 수 있습니다. 예를 들어 tbl_temp2 INTO

INSERT (fld_id)는 SELECT는 tbl_temp1 FROM 을 tbl_temp1.fld_order_id WHERE tbl_temp1.fld_order_id> 100;

다음 조건은 INSERT ... SELECT 문에 대해 길게 http://dev.mysql.com/doc/refman/5.0/en/insert-select.html

+0

을이 시도하지만이 단지 삽입 기존 테이블과 설명을 작성할 수 없습니다. – user64066

+0

질문에 새 테이블을 만들고 싶지 않다고 말했습니까? 다른 테이블이 있다고 했잖아. 나는 당신이 당신의 질문을 수정할 것을 제안합니다. – Tom

0
INSERT table1 (name, time, price) 
SELECT name, time, price 
FROM table2 
WHERE price > 120 
+0

이 코드에는 ID가 없으므로 설명을 추가하는 방법도 있습니다. 이것은 가격이 120을 초과하는 것을 제외하고는 똑같은 표만 생산할 것입니다. 위와 같은 표를 만드는 데 필요한 것은 두 개의 추가 필드 하나를 다른 하나의 설명으로 만드는 것입니다. 또한, 나는이 문장으로 설명을 원한다 : 가격이 더 높은 경우 "가격이 임계 값 이상이다" – user64066

0

당신은 INSERT 문을 사용하고를 채우는 데 사용하고자하는 SELECT 문 뒤에 당신에 삽입 할 필드를 나열 들판. 링크는 http://dev.mysql.com/doc/refman/5.5/en/insert.html입니다.

예 :

INSERT INTO insert_tablename (field1, field2, field3) 

SELECT field1, field2, field3 

< The rest of your select statement > 
관련 문제