根据另一个表中的条件插入表中

时间:2014-01-08 17:05:38

标签: mysql

我试图从另一个表中存在的条件构建表。如果条件存在,我想从另一个表中提取数据以填充新表。这是我正在使用的SQL语句,但它使用错误的数据填充新表。

INSERT INTO 2014TranstarPriceTnum (tran_no)
SELECT Tran_no      
  FROM Trans_Types_Updated 
WHERE 2014TranstarPriceTtype.`tran_type`=Trans_Types_Updated.`Tran_Type`;

我正在2014TranstarPriceTtype查找已存在的Trans Type,并从tran_no中提取所有关联的Trans_Types_Updated并填充2014TranstarTnum。但是,我的脚本导致Tran_Type填充到tran_no字段。

2014TranstarPriceTtype
Tprice  tran_type   make    core    note    Updated
650 125C    BUICK   250 (P.H.B.)    2014-01-07
650 200C    BUICK   250 (P.H.B.)    2014-01-07
850 2004R   BUICK   350 (P.H.B.)    2014-01-07
650 350 Chev    250 (P.H.B.)    2014-01-07

Trans_Type_Updated

Tran_No Tran_Type       Make    Eng_size
T1014AA 125C            BUICK   2.5
T1006AA 125C            BUICK   2.5
T1363AA 2004R           BUICK   5.0
T1365AA 2004R           BUICK   5.0
T1310AA 200C            BUICK   3.8 (231)
T1318AA 200C            BUICK   5.0
T1427CA 350C            CHEVROLET   5.0
T1427AA 350C            CHEVROLET   5.0

2014TranstarPriceTnum

中的结果
tran_no Tprice  tran_type   make    eng_size    core_tote   note    updated
125C    \N  \N  \N  \N  \N  \N  \N
200C    \N  \N  \N  \N  \N  \N  \N
2004R   \N  \N  \N  \N  \N  \N  \N
350C    \N  \N  \N  \N  \N  \N  \N

我很感激任何帮助。

谢谢,

Tony Cripps

1 个答案:

答案 0 :(得分:0)

嗯,不是那么清楚,但我想你想要那样的东西(不确定你的表名,你有不同的版本)。

INSERT INTO 2014TranstarPriceTnum (tran_no)
SELECT ttu.Tran_no      
  FROM Trans_Type_Updated ttu
  INNER JOIN 2014TranstarPriceTtype tpt on tpt.tran_type = ttu.tran_type

请参阅SqlFiddle