假设我有两个表 ta tb ta表里面的列是:key ca2 ca3
tb表里面是 key ca2 ca3 cb2 cb3 两个表的列 key是一样的 我现在的问题是 通过读取key 将ta表里面的key ca2 ca3列的值选出来再插入到 tb那张表里
有没有一条数据库语句就搞定的
key是通过request获取的
cb2 cb3 也是通过request获取的
tb表里面是 key ca2 ca3 cb2 cb3 两个表的列 key是一样的 我现在的问题是 通过读取key 将ta表里面的key ca2 ca3列的值选出来再插入到 tb那张表里
有没有一条数据库语句就搞定的
key是通过request获取的
cb2 cb3 也是通过request获取的
select key,ca2,ca3 from ta where key=request自行修改一下
select key,ca2,ca3,ca2 as cb2,ca3 as cb3 from ta where key=request
select key,ca2,ca3 from ta建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
select key,ca2,ca3 from ta where key=request
select key,ca2,ca3,request_cb2,request_cb3 from ta where key=request_key
select key,ca2,ca3,999,888 from ta where key=12345
+------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------------+--------------+------+-----+---------+----------------+
| levid | int(20) | NO | PRI | NULL | auto_increment |
| orgid | char(20) | YES | | NULL | |
| parentid | char(20) | NO | | NULL | |
| staffname | char(20) | NO | | NULL | |
| levcatagoriy | varchar(20) | YES | | NULL | |
| apptime | datetime | YES | | NULL | |
| begindate | date | YES | | NULL | |
| enddate | date | YES | | NULL | |
| state | varchar(1) | YES | | NULL | |
| approvingofficer | varchar(20) | YES | | NULL | |
| approvaltime | datetime | YES | | NULL | |
| comments | varchar(200) | YES | | NULL | |
| reason | varchar(100) | YES | | NULL | |
+------------------+--------------+------+-----+---------+----------------+mysql> desc tb_oa_staff;
+-----------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+---------+-------+
| staffid | decimal(4,0) | NO | PRI | NULL | |
| orgid | char(20) | NO | MUL | NULL | |
| staffname | char(20) | NO | | NULL | |
| sex | char(1) | YES | | NULL | |
| age | int(11) | YES | | NULL | |
| national | varchar(100) | YES | | NULL | |
| birthday | datetime | YES | | NULL | |
| certno | varchar(30) | YES | | NULL | |
| political | char(20) | YES | | NULL | |
| maritalstatus | char(1) | YES | | NULL | |
| accountlocation | varchar(200) | YES | | NULL | |
| currentaddress | varchar(200) | YES | | NULL | |
| telephone | varchar(20) | YES | | NULL | |
| emergencyphone | varchar(20) | YES | | NULL | |
| optrid | varchar(20) | YES | | NULL | |
| opttime | datetime | YES | | NULL | |
| re | varchar(100) | YES | | NULL | |
+-----------------+--------------+------+-----+---------+-------+
mysql> desc tb_oa_organization;
+----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| orgid | char(20) | NO | PRI | NULL | |
| orgcode | char(100) | NO | | NULL | |
| parentid | char(20) | NO | | NULL | |
| status | char(1) | YES | | NULL | |
| optrid | varchar(20) | YES | | NULL | |
| opttime | datetime | YES | | NULL | |
| re | varchar(100) | YES | | NULL | |
+----------+--------------+------+-----+---------+-------+我我现在想leave表关联staff 和organization这两张表 把 orgid parentid staffname 查出来 插入到 leave表里面
这样写 大家能理解了吗?
按照你这一句的理解答案如下。insert into leave (orgid,parentid,staffname)
select tb_oa_staff.orgid,tb_oa_organization.parentid,tb_oa_staff.staffname
from tb_oa_staff inner join tb_oa_organization using(orgid)
我也不知道你的对不对 现在需求变了,不过以前几个问题 acmain都回答的很好 大家都加分!