Mysql的从表中的多个ID中选择并将它们插入到另一个表
问题描述:
我有一个MySQL表称为Mysql的从表中的多个ID中选择并将它们插入到另一个表
上第一表格中的USER_ID与第二表,以便quiz_id = ID(jos_users)的id联 如何建立一个查询多个插入到jos_users_quizzes表中的所选部门的ID ...在一个点击
我在想一个子查询或循环会做,但不知道如何构造查询。 我需要选择所选部门的所有用户ID。例如有部门的名单,并且一旦选择了部门,选择所有ID属于该部门并插入所有的ID添加到其他表(quizid,(alldepartment IDS)
提前感谢!
代码从和ASP.NET表单插入....
string quizidselected = DropDownList1.SelectedValue;
string deptselected = ListBox2.SelectedValue;
//OdbcCommand cmd = new OdbcCommand("INSERT INTO jos_jquarks_users_quizzes (quiz_id,user_id) VALUES (' " + quizidselected + " ',677)");
OdbcCommand cmd = new OdbcCommand("INSERT INTO jos_jquarks_users_quizzes (user_id, quiz_id) SELECT id, ' " + quizidselected + " ' FROM jos_users WHERE department = ' " + deptselected + " '");
答
如果你知道关键字如电子邮件地址,部门ID或部门名称很容易。
例如:
$depname = "Logistics"; // PHP // department name
$quizid = "Quiz-12"; // PHP // quiz name
然后使插入查询:
<?php
$query = "INSERT INTO `to_table` (user_id, quiz_id)
SELECT id, '$quizid' FROM `from_table`
WHERE department = '$depname'";
?>
有关兼容性的,如果你从网页获得的值,比如你可以用小写:
<?php
$query = "INSERT INTO `to_table` (user_id, quiz_id)
SELECT id, LOWER('%$quizid%')
FROM `from_table`
WHERE department like LOWER('%$depname%')";
?>
当您从网页插入数据时,使用addslashes命令来保护数据库:
<?php
$query = "INSERT INTO `to_table` (user_id, quiz_id)
SELECT id, LOWER('%".addslashes($quizid)."%')
FROM `from_table`
WHERE department like LOWER('%".addslashes($depname)."%')";
?>
有点困惑在这里...是部门的ID上jos_users或部门领域的id字段?\ – NullUserException
是的,以及在jos_users每个ID有一个部门,所以我想t选择所有的ID,其中部门'部门'在列表上被选中 – Tony77
你的问题有点混乱。我得到'jos_users_quizzes.id'链接到'jos_users.id',但是你也说明了* quiz_id = id(jos_users)*,这没什么意义。 –