这里的SQL难题。
我希望使用phpMyAdmin根据现有表中的数据填充一个空表。
更具体地说,我希望使用mark中的数据来创建attempt中的数据。标记中的列是student_number、test_number、attempt_number、question_number和答案。这是一个多选择的测试分析工具。
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组合如下:
SELECT DISTINCT snum, tnum, anum FROM `mark`如何使用此调用的结果填充所需的insert调用?
INSERT INTO `attempt` (snum,tnum,anum,period) VALUES (:s,:t,:a,"2013-1")理想情况下,我想要自动完成基于"2013-“加上肛门的期间值。我怀疑这是不可能的,所以我将只选择所有的anum=1值,并对句点值进行硬编码(然后对每个anum重复)。
谢谢。
发布于 2014-02-01 04:26:22
使用“插入选择”语法:
INSERT INTO 'attempt'(snum,tnum,anum,period) SELECT DISTINCT snum,tnum,anum,CONCAT('2013-',anum) as period FROM mark;发布于 2014-02-01 04:30:18
INSERT INTO `attempt`
(snum,
tnum,
anum,
period)
select DISTINCT
snum,
tnum,
anum,
concat('2013-',anum) as period
from mark;https://stackoverflow.com/questions/21494020
复制相似问题