【问题标题】:Read value of a column and assign to another column读取一列的值并分配给另一列
【发布时间】:2014-06-07 13:06:47
【问题描述】:

我的情况是这样的:

我有两张桌子 TEACHERSABSENCES 他们每个人都有一列 unitid

我想从 TEACHERS 表中选择 unitid 并插入到 ABSENCES 表中。

编辑:

可以将其添加到此查询中吗:(“插入缺勤(student_id,日期)值('”.$_GET['student_id'].“','”.date('Y-m-d H:i:s' )."')");

?

【问题讨论】:

  • 您的ABSENCES 表是否已保存数据?如果是,那么您正在寻找UPDATE 而不是INSERT。另外,发布您的表结构。以目前的立场,您的问题还不清楚。
  • 缺席有这些栏目:absence_id student_id date subject unit_session unitid老师有这些栏目:username password unitid

标签: mysql sql


【解决方案1】:

试试这个

INSERT INTO ABSENCES(unitid) select unitid from TEACHERS

【讨论】:

  • 顺便说一句,这可以添加到这个查询中:mysql_query("insert into missings (student_id, date) values ('".$_GET['student_id']."','".date ('Y-m-d H:i:s')."')");或者我必须做另一个查询? @amit
  • @DiellAbazi 你能添加更多关于 TEACHERS 表的信息吗?
  • 缺席有这个栏目:absence_id student_id date subject unit_session unitid老师有这些栏目:username password unitid
  • 先生,我认为您的解决方案也很好,但是当我这样做时:INSERT INTO ABSENCES(unitid) select unitid from TEACHERS 它不会只选择一个单元 id 它会选择所有单元 id-s
【解决方案2】:

我试图将您的场景描述如下

创建Absence

create table absence (absence_id int not null auto_increment primary key,
 `date` datetime, `subject` varchar(20),
 unit_session varchar(20), unitid int);

将数据插入Absence

insert into absence(`date`, `subject`, unit_session)
values(now(),'Math','first'),(now(),'Biology','second'),(now(),'Physics','third')

创建数据并将数据插入Teachers

create table teachers (username varchar(10), `password` varchar(10), unitid int);

insert into teachers values('abcdsed','fgdfgfdfgd',23),
('abcdced','fgdfgrtfgd',3),('harikas','fgdfgfdfgd',23);

此时如您所见,Absence 表中的unitid 列没有任何值。是NULL

如下创建一个临时表

create temporary table  temptest(id int not null auto_increment primary key,
unit_id int);

unitidTeachers 插入到临时表中

insert into temptest(unit_id) select unitid from teachers 

现在最后,通过加入临时表来更新Absence 表,如下所示

UPDATE absence a 
    JOIN temptest b 
  ON a.absence_id = b.id 
SET a.unitid = b.unit_id

【讨论】:

  • 我也认为我必须更新,因为我只需要更新 unitid 的值。现在就试试这个
  • 我遇到了一个错误,我无法用你的方法解决这个想法仍然很好
  • 不,它还没有帮助,我在我的 mysql 查询中尝试过,我无法修复我得到的错误,这个想法很简单:用单位更新缺勤表中的单位 ID 的数量id取自教师表
  • @DiellAbazi,忘记以前的答案,我已经完全删除了。查看完整的新答案。试图暗示你的情况。按照答案中的步骤操作,它会正常工作的。
猜你喜欢
  • 1970-01-01
  • 2016-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-27
  • 2021-05-16
相关资源
最近更新 更多