首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL:使用来自一个表的数据来使用phpMyAdmin填充第二个表

MySQL:使用来自一个表的数据来使用phpMyAdmin填充第二个表
EN

Stack Overflow用户
提问于 2014-02-01 04:18:58
回答 2查看 724关注 0票数 2

这里的SQL难题。

我希望使用phpMyAdmin根据现有表中的数据填充一个空表。

更具体地说,我希望使用mark中的数据来创建attempt中的数据。标记中的列是student_number、test_number、attempt_number、question_number和答案。这是一个多选择的测试分析工具。

代码语言:javascript
复制
mark (existing)
snum     tnum    anum    qnum    answer
----------------------------------------
1        1        1        1       A
1        1        1        2       C
1        1        1        3       D
1        1        2        1       B    
1        1        2        2       A
1        1        2        3       C


attempt (to be created)
snum     tnum    anum    period
--------------------------------
1        1        1        2013-1      
1        1        2        2013-2         

我可以得到不同的snum,tnum,anum组合如下:

代码语言:javascript
复制
SELECT DISTINCT snum, tnum, anum FROM `mark`

如何使用此调用的结果填充所需的insert调用?

代码语言:javascript
复制
INSERT INTO `attempt` (snum,tnum,anum,period) VALUES (:s,:t,:a,"2013-1")

理想情况下,我想要自动完成基于"2013-“加上肛门的期间值。我怀疑这是不可能的,所以我将只选择所有的anum=1值,并对句点值进行硬编码(然后对每个anum重复)。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-01 04:26:22

使用“插入选择”语法:

代码语言:javascript
复制
INSERT INTO 'attempt'(snum,tnum,anum,period) SELECT DISTINCT snum,tnum,anum,CONCAT('2013-',anum) as period FROM mark;
票数 2
EN

Stack Overflow用户

发布于 2014-02-01 04:30:18

代码语言:javascript
复制
INSERT INTO `attempt`
            (snum,
             tnum,
             anum,
             period)
select DISTINCT
  snum,
  tnum,
  anum,
  concat('2013-',anum) as period
from mark;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21494020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档