Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql从多个select查询插入数据_Mysql_Import_Myisam - Fatal编程技术网

mysql从多个select查询插入数据

mysql从多个select查询插入数据,mysql,import,myisam,Mysql,Import,Myisam,我所做的工作以及我需要改进的工作: INSERT form_data (id,data_id, email) SELECT '',fk_form_joiner_id AS data_id , value AS email FROM wp_contactform_submit_data WHERE form_key='your-email' 这只是收到电子邮件,现在这很好,但还不够,因为我有一些不同的form_key值需要导入到不同的列中,我知道我可

我所做的工作以及我需要改进的工作:

INSERT form_data (id,data_id, email) 
SELECT '',fk_form_joiner_id AS data_id
     , value             AS email 
  FROM wp_contactform_submit_data 
 WHERE form_key='your-email'
这只是收到电子邮件,现在这很好,但还不够,因为我有一些不同的form_key值需要导入到不同的列中,我知道我可以通过php使用foreach循环和更新来完成,但这需要完全在mysql中完成

那么我该怎么做呢 插入表格\u数据ID、数据、电子邮件、姓名、姓氏等选择[…],选择[…]

数据以最荒谬的方式存储在一个表中,一个单元格中,另一个单元格告诉您实际数据是什么:屏幕截图


请帮助

在您的问题中,您想要的其他数据存储在哪里并不明显,但您可能正在寻找一些东西,例如:

INSERT form_data (id,data_id, email,city) 
SELECT A.fk_form_joiner_id AS data_id
     , A.value             AS email 
     ,B.value               AS city
  FROM wp_contactform_submit_data A,
       wp_contactform_submit_data B
  WHERE A.form_key='your-email' AND 
        B.form_key='your-city' and
        A.fk_form_joiner_id=B.fk_form_joiner_id
您可以扩展此逻辑,以便非常轻松地处理少量的多个字段-如果有时缺少一个或多个数据值,则必须在a和B之间进行外部联接,以获取所有记录

显然,您必须为每个列创建一个新联接,但无论如何,这在某种形式上都是完成任务所必需的


wp\u contactform\u submit\u datafk\u form\u joiner\u id、form\u key上的索引也将使此查询相当有效。

这不是问题,您只需多次加入wp\u contactform\u submit\u数据,每个值一次:

INSERT INTO form_data (data_id, email, name)
SELECT fk_form_joiner_id as data_id, email, name
FROM (SELECT fk_form_joiner_id, value as email
      FROM wp_contactform_submit_data
      WHERE form_key='your-email'
      ) as emails
JOIN (SELECT fk_form_joiner_id, value as name
      FROM wp_contactform_submit_data
      WHERE form_key='your-name') as names
  USING (fk_form_joiner_id)
;

这是一个屏幕截图,它在一个表格中,在一个单元格中,另一个单元格告诉我数据位是什么。这很愚蠢,但这是我必须处理的,我需要将其放入另一个表中,并将单元格分配给相应的数据类型,因此使用WHERE子句来挑出电子邮件并将其导入单元格,我需要为每个值做同样的事情。感谢数据屏幕截图-这就是我理解它的方式。在我看来,我上面提出的将表与查询相乘连接的想法会起作用,尽管这会变得很复杂。