MySql数据合并

时间:2013-02-24 01:21:43

标签: mysql

我正在尝试显示一组特定的数据。我的问题是部分数据位于不同的表中,相同的数据库。所以这就是我所拥有的:

两张桌子。 T1有5列。 T2有8列。 FormId列在两个表之间是通用的。我需要将DateSubmitted列从T1移动到T2,然后在生成的组合列上运行SELECT查询。到目前为止,我只对T2进行了SELECT查询。我无法弄清楚如何将DateSubmitted列从T1移动到T2,然后运行SELECT查询。我在此处和其他论坛上尝试了UNIONJOIN个建议,但没有成功。需要帮助构建工作查询!

T2的SELECT查询:

SELECT
SubmissionId,
FieldName,
FieldValue
FROM
#__submission_values
WHERE
FormId = 6
AND
FieldName IN ('field1','field2','field3','field4','field5','field6')
ORDER BY SubmissionId ASC

示例数据

T1 
DateSubmitted  FormId
2013-02-01    6
2013-02-02    6
2013-02-03    6
2013-02-04    6
2013-02-05    6
2013-02-06    6

T2 
FormId  FieldName     FieldValue   SubmissionId 
6        Field1        Value1       1 
6        Field2        Value2       2 
6        Field3        Value3       3 
6        Field4        Value4       4
6        Field5        Value5       4 
6        Field6        Value6       6

2 个答案:

答案 0 :(得分:0)

你不能用这个吗?

UPDATE T2
SET T2.DateSubmitted=T1.DateSubmitted
WHERE T1.FormId=T2.FormId

答案 1 :(得分:0)

修改: 如果您只需要一个连接两个表的选择,则查询可能看起来像

SELECT t2.SubmissionId,
       t2.FieldName,
       t2.FieldValue,
       t1.DateSubmitted
  FROM t2 INNER JOIN 
       t1 ON t2.FormId = t1.FormId
 WHERE t2.FormId = 6 AND
       t2.FieldName IN ('field1','field2','field3','field4','field5','field6')
 ORDER BY t2.SubmissionId

sqlfiddle