mysql UPDATE 同一表不同字段 10C

分类表:

id cid
1 10
2 12
3 9
4 22

数据表:

id cid pid
1 10 1
2 10 1
3 12 2
4 22 4
5 9 3

数据表的cid和分类表cid一样。

新增数据表pid字段,现在要根据数据表的cid(查询分类表的id)来生成pid,要怎么写sql语句?

6个回答

select b.id,b.cid,a.id,a.pid
from 数据表 As a,分类表 As b
where a.cid=b.cid

注释:
在SQL中,可以通过AS关键字为表定义别名。

update datamanager d inner join category c on d.cid = c.cid set d.pid = c.id;

可以实现你要的效果

UPDATE t_data d,t_category c SET d.pid = c.id where d.cid = c.cid;

update a set a.pid=b.id from t_data a join t_category b on a.cid=b.cid
希望对你有所帮助

mysql数据库 UPDATE a,b SET b.pid = a.id where b.cid = a.cid

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Mysql 触发器修改同一表不同字段
以前会的,现在忘记如何写了.请高手指点下,rn就是表A,字段a1,a2rn更新字段a1的时候,a2显示a1更新前的数据(old.a1)rnrndelimiter //rncreate trigger update_a after update on Arnfor each rowrninsert into A(a2) values(old.a1);//rndelimiter ;rnrn上面的是错的,但是意思就是这样.rnrnrnrn
oracle触发器修改同一表不同字段
比如说当表A的一个insert,update的操作,然后自动把表A的相关字段update为一个值,但是这样就会造成死循环,如何只让触发器只执行一次。rnrncreate trigger biufer_employees_department_id rn before insert or update rn of department_id rn on employees rn referencing old as old_value rn new as new_value rn for each row rn when (new_value.department_id<>80 ) rnbegin rn :new_value.commission_pct :=0; rnend; rnrn 这种自身触发只能修改 :new_value.commission_pct,我如果想修改某特定行的数据,需要加限制条件的,如果处理。加WHERE...?
mysql同一表查询语句
我想用一个语句在同一表内查询苹果 香蕉 梨子的数量 能实现吗 下面好像不行rn谢谢了rnSELECT numbers as apple FROM table1 where name='APPLE' union SELECT numbers as orange FROM table1 where name='ORANGE' .......rnrn谢谢了rnrn数据库rnname number timernAPPLE 11 2000-11-11rnAPPLE 22 2000-11-2rnAPPLE 33 2000-11-3rnORANGE 44 2000-11-4rnORANGE 55 2000-11-5rn......rnrn
同一表中字段相加
数据表中有三个字段 a b c,想将a和b的值相加放到c中 rn例:原库 rn a b c rn 12 16 rn 2 10 rnrn 更新后 rn a b c rn 12 16 28 rn 2 10 12 rn我试过"update kk set c=a+b " ,"select c=(a+b) from kk" ,"select a+b as c from kk" 均无效,请指教rnrn程序是vb.net 数据库是acces
如何查询号同一表中不同字段的相同内容?
问题如标题。rn例如:表有内容如下:rnDATE R1 R2 R3 R4 R5 R6rn2012-01-01 03 04 06 08 13 25rn2012-02-01 01 03 04 06 14 24rn2012-03-01 02 03 08 10 11 23rn2012-04-01 05 07 08 10 12 19rn2012-05-01 04 05 07 11 12 20rn2012-06-01 06 08 10 13 14 23rn2012-07-01 08 09 11 13 16 25rnrn求列R1到R6中含三个相同内容的数据,即正确结果应该是这样:rnDATE R1 R2 R3 R4 R5 R6rn2012-01-01 [color=#FF00FF]03[/color] [color=#FF00FF]04[/color] [color=#FF00FF]06[/color] 08 13 25rn2012-02-01 01 [color=#FF00FF]03[/color] [color=#FF00FF]04[/color] [color=#FF00FF]06[/color] 14 24rn2012-06-01 [color=#FF00FF]06[/color] [color=#FF00FF]08[/color] 10 [color=#FF00FF]13[/color] 14 23rn2012-07-01 [color=#FF00FF]08[/color] 09 11 [color=#FF00FF]13[/color] 16 [color=#FF00FF]25[/color]
mysql 查询两个字段(意义不同) 为同一表同一字段 如何处理
mysql中有个用户信息表称为a,有个设备表称为b。rn请问:rn如何在一个查询结果中既输出a对应b的使用人,又输出a对应b表的管理员?
同一表中不同值的显示问题
有查询表结构如下rn发号 发名 收号 收名rn10 上海仓 11 南京仓rn11 南京仓 11 南京仓rn12 北京仓 13 天津仓rn13 天津仓 14 合肥仓rn14 合肥仓 14 合肥仓rnrnrn有一张发货表D和仓库表WH.(数据来源)rn如果我用rnselect WHcode,WHname from WH,Drn查询出来的结果是rn发码 发名 收码 收名rn10 上海仓 11 上海仓rn11 南京仓 11 南京仓rn12 北京仓 13 北京仓rn13 天津仓 14 天津仓rn14 合肥仓 14 合肥仓rnrnrn变成第四列跟随第一列的值了.请问什么语句可以显示表1的形式?rnrn附:WH表rn仓码 仓名rn10 上海仓rn11 南京仓rn12 北京仓rn13 天津仓rn14 合肥仓rnrnD表rn发码 收码rn10 11rn11 11rn12 13rn13 14rn14 14rnrn谢谢
请求:同一表中关联字段的修改
比如:A表中两个字段:BB、DDrnrn BB | DDrnrn我爱中华123 | 123rn我爱北京天安门334 | 334rn中华儿女89 | 89rnrn如何将TT字段中,含有DD字段内容的文字替换掉,变成以下数据:rnrn BB | DDrnrn我爱中华 | 123rn我爱北京天安门 | 334rn中华儿女 | 89rn
同一表两个字段同时查询的问题
有表table,两个段,field1,field2rn数据rnfield1 field2rn中华 人民共和国rn请问要怎么才能使得搜索"中华人民"的时候两个字段都满足呢?rn现在就只会 field1 like '%中华%' 和 field2 like '%人民%'
MySQL 中对于同一表的两种操作
MySQL不允许SELECT 、UPDATE、DELETE的表,很蛋疼。当然,有比创建无休止的临时表更好的办法。 本文解释如何UPDATE一张表,同时在查询子句中使用SELECT。 例子说明: UPDATE tb_a1result SET username = ( SELECT username FROM (SELECT * FROM tb_a1result) AS x WHER
mysql在同一表中如何比对数据
条件:相同的账号,type=1数据有,type=3数据无,且账户性质为“基本存款账户”or“临时机构临时存款账户”or“非临时机构临时存款账户”or“预算单位专用存款账户”or“临时存款账户”。#字符 会通过replaceAll替换。rn即在同一个table表里:rn...... account字段 type 字段 Property账户性质......rn a 1 xrn a 3 Xrn b 1 Xrn c 1 Yrn c 3 Yrn想找到b 1这条数据,然后把请问该如何写?问题在哪里?rn[code=SQL]rninsert into sysresultrn(rn `Bank_Name`,rn `Bank_code`,rn `Account`,rn `Account_Name`,rn `Account_Property`,rn `BankInnerDate`,rn `BankRevocationDate`,rn `type`,rn `ResultType`,rn areaId,rn resultBankId,rn bankId,rn optorrn) rn select rn Bank_Name,rn Bank_code,rn Account,rn Account_Name,rn Account_Property,rn Bank_inner_date ,rn RevocationDate,rn type,rn 1 as state,rn #areaId as areaId ,rn #resultBankId as resultbank,rn #bankId as bankId,rn #optor as optor rn from rn #table Trn WHERE rn type=1rn AND T.`Account` not in (SELECT Account FROM #table WHERE type=3) rn AND T.`Account_Property` in ('基本存款账户','临时机构临时存款账户','非临时机构临时存款账户','预算单位专用存款账户','临时存款账户')rn[/code]rn
同一表的复合查询
从一个表(这个表中有子项,子项也有子项,树形)rn要从一个表里查询idno为空的所有记录,及(idno不为空时,表示有子数据,也在这个表里)idno不为空时的子数据。rn下面的查询比较麻烦,而且会有好几层的情况,要写很多,有没简洁的写法,请大家帮忙看看rnrnselect *from GsoM where mk_no=S001' and isnull(idno,'')=''rnunion allrnselect *from GsoM where mk_no in (select distinct idno from TF_BOM where mk_no=S001')
同一表内相减
ID Value Datetimern1 1 2005-1-1rn2 2 2005-1-1rn1 3 2005-1-2rn2 4 2005-1-2rnrn大致的意思就是后两行减前两行rn结果rn1 2 2005-1-1rn2 2 2005-1-2rnrn想学习最简单的写法,最好1句完成
同一表对比
select mnth,qty ,sign(s1.qty-(select top 1 qty from sales as s2rn where s2.mnth < s1.mnthrnorder by s2.mnth desc)) as sgnrnfrom sales as s1rnrnrns2.mnth < s1.mnth好迷糊rn哪位帮我解释一下同一表做比较rnrn分不多
MYSQL字段值合并 同表同字段不同值合并(有一字段值相同)
原表:aburlrnrn字段:rn id datalist movieid typeplayer playnum rn 1 X 1 1 1rn 2 X 2 1 1rn 3 Z 2 1 1rn 4 X 3 1 1rn 5 X 4 1 1rn 6 Z 4 1 1rnrn新表:newurlrnrn字段:rn id datalist movieid typeplayer playnum rn 1 X 1 1 1rn 2 X回车Z 2 1 1rn 4 X 3 1 1rn 5 X回车Z 4 1 1rnrn只改变datalist内容 其余不变 删除不删除ID3,6 无所谓
update同一表内更新一字段内容为该表的另一字段中的值
在一张表中如何能更新一字段内容等于另一字段值内容的,100条记录,字段A中内容各不相同,现要用UPDATE语句,将其值对应每条记录更新到字段B中的,rn如:rnArn------------------rn1rn2rn3rn4rn5rn6rnrn更新后变成rnA Brn-----------------rn1 1rn2 2rn3 3rn4 4rn5 5rn6 6rnrn请大家说明一下的。
同一表的两个字段合并成一新字段
回复问题表rnrn其中有两个字段 content,printcontentrnrnid content printcontentrnrn1 null aaarn2 null bbbrn3 [quote]ccc[/quote] nullrnrnnull代表空rnrn我想再新建个字段temprnrn让temp中的值为rnrnaaarnbbbrn[quote]ccc[/quote]
同一表的两个字段合并成一新字段(new)
想了想,我刚才问的不太对- -,重新再问下...rnrn回复问题表rnrn其中有两个字段 content,printcontentrnrnid content printcontentrnrn1 '' aaarn2 '' bbbrn3 [quote]ccc[/quote] rnrncontent的值是'',不是nullrnrn我想再新建个字段temprnrn让temp中的值为rnrnaaarnbbbrn[quote]ccc[/quote]
mysql【同数据库的多表同字段操作】
一 令人窒息的CONCAT(str1,str2,…) 我只蹭蹭不进去 更新 SELECT CONCAT('update ‘,table_name,’ set 字段名= 值; ') FROM information_schema.tables WHERE table_schema=‘数据库名称’; 删除 SELECT CONCAT('delete table ‘,table_name,’ ; ...
触发器问题,一表UPDATE触发另一表也UPDATE
表parent:rnid child_idrn1 ,1,2, rn2 ,1,3,rnrn表child:rnid parent_idrn1 ,1,2, rn2 ,1,rn3 ,2,rnrn希望得到的结果是这样,如果表parent的child_id列有update,那么表child的parent_id列也有相应的变化rnrn请大家帮忙~~~
update如何更新同一表中多条记录
ssdh qydh cpdm InputYearMonth bdj1 bdj2 jdj tdjrn[color=#FFFF00]38 1 66100202 200607 100 100 120 110[/color]rn38 1 44200101 200607 1 1 1.1 0.8rn[color=#008080]38 1 66100202 200706 108 108 110 110[/color]rn38 1 44200101 200706 1.1 1.1 1.2 1.2rn[color=#3366FF]38 1 66100202 200707 0 0 108 0[/color]rn38 1 44200101 200707 0 0 1.1 0rnrn我有一表a,结构如上,主键为:(ssdh,qydh,cpdm,InputYearMonth).我在存储过程中,根据InputYearMonth=200706插入两条记录,并将InputYearMonth设置为200707(也就是复制上月记录,并将InputYearMonth设定为当前年月),并将jdj设定为上个月相应记录的(bdj1+bdj2)/2。现在问题是:如何将200707相应记录的tdj设置为200607相应记录的(bdj1+bdj2)/2rnrn我插入记录是用下面这条语句:rn'insert into a select ssdh, qydh, cpdm, 0 as bdj1, 0 as bdj2, (bdj1+bdj2)/2 as jdj, 0 as tdj, 200707 as InputYearMonth from a where InputYearMonth=200706 and ssdh='+@ssdh+' and qydh='+@qydhrnrn插入200707月记录后,要将新插入记录的tdj字段更新为200607月相应记录的(bdj1+bdj2)/2rnrn想了老半天了,还没有很好解决这个问题
查询同一表中某些字段相同,剩余字段不同的记录!
例如 表:feng 数据结构如下:rnrn A B C D E Frn 123 ASD CXZ 22 34 QWErn 123 ASD CXZ 13 77 QWErn 432 SDF ADD 56 34 RErn DS3 SDF FE 54 12 TYrn RT WE F5E 55 88 L6rn DS3 SDF UR 44 67 TYrnrn请问如何把 A B 列同时相同的记录查询出来呢??不甚感激~~
mysql同表列字段复制
mysql同表列字段复制 解决方法: 想把plant_product 表中的class3 字段复制到column_id字段中,实现如下sql语句: http://www.yayihouse.com/yayishuwu/chapter/1837
mysql连接同一列字段,连接同一行多个字段
连接同一列字段: SELECT GROUP_CONCAT(字段) from table ; 连接同一行多个字段: SELECT CONCAT(字段1,字段2,自定义字符串,,,) from table;
MySQL update替换字段部分内容
背景:数据库sys_user 需要将字段的匹配到的字符串替换为另外的字符串。 解决:可以使用MySQL内置的REPLACE函数,具体用法如下: UPDATE 表名 SET 字段名 = REPLACE(替换前的字段值, '替换前关键字', '替换后关键字'); update sys_user set name=REPLACE(name,'hello','hi') where id &amp;lt;10...
并发读取同一表记录
系统描述: Windows2000+SQLServer2000; 50个以上的连接(ADO)rnrn问题描述: 表1个 字段(*CID,OWNER,FIELD1,FIELD2,...,STATUS)*表示主键rn rn 如果50个连接要求的都是从该表读1条STATUS=0的记录,但是不能有重复,也就是说每个连接只能读1条记录的内容,并保证别的连接是读不到的。在取出记录后,处理完后就UPDATE STATUS=1,然后继续读新的一条记录。依次类推。(当然在读数据的时候连接是使用存储过程读的)rnrn问题出现: 当有1000000条记录,50个连接同时开始读的时候.......速度慢了点rn 当最后只有20条左右STATUS=0的记录的时候............有死锁现象rnrn寻求一种高效的解决办法。
mysql下sql语句 update 字段=字段+字符串
mysql下sql语句令某字段值等于原值加上一个字符串        update 表明 SET 字段= 'feifei' || 字段; (postgreSQL 用 || 来连贯字符串)   MySQL连贯字符串不能利用加号(+),而利用concat。   比方在aa表的name字段前加字符'x',利用:   update aa set name=concat('x',name) ...
mysql 触发器,对同张表触发update
触发器语句中使用了两种特殊的表:old 表和 new 表。old 表用于存储 DELETE 和 UPDATE 语句所影响的行的复本。在执行 DELETE 或 UPDATE 语句时,行从触发器表中删除,并传输到 deleted 表中。old 表和触发器表通常没有相同的行。Inserted 表用于存储 INSERT 和 UPDATE 语句所影响的行的副本。在一个插入或更新事务处理中,新建行被同时添加到...
mysql 同一表中.两个字段值互相复制,从一个字段值复制到另一个
我想把go_member表中groupid字段的内容复制到go_member表中oldgroupid字段里面sql语句为: update `go_member` set oldgroupid=groupid;
同一表中的数据写入问题
有一数据库,需要把同一表中的DD_001_info bis DD_050_info行的text写入DD_001_input bis DD_050_input行的info,没有ID。请问该如何做。rn
查同一表多条记录
想从表1数据得到表2rn[img=https://img-bbs.csdn.net/upload/201905/07/1557222048_918727.png][/img]rn请问大神们,如何写SQL
去掉同一表中的重复记录
有一张表要求得到以下几个字段uid,danwei,uname并去掉uname字段中内容重复的行,该怎么写呀?rn select uid,danwei,uname from mingpian
同一表不同行的操作
tb 已 ORDER BY user,daterncost 为 金额 请问如何求出 [color=#FF0000]每个user的summary[/color]rnuser date cost || summaryrnA1 .. x || 0rnA1 .. y || xrnA1 .. z || x+yrnA1 .. .. || x+y+zrnA2 .. n || 0rnA2 .. m || nrnA2 .. n || n+mrnA2 .. .. || n+m+nrn.. .. .. ||rn.. .. .. ||rn.. .. .. ||rnAn .. .. ||rnrn是否需要用到游标呢,菜鸟提问,忘各位解答。
求助 SQL语句 同一表个不同查询条件的统计
表ArnID 商品名称 商品编号 商品类型rn1 手镯 20111211 玉器rn2 金佛 20111212 金器rn3 玉佛 20111213 玉器rn4 金钗 20111213 金器rnrn表BrnID 库存数 日期 P_IDrn1 5 2011-11-1 1rn2 6 2011-12-1 2rn3 5 2011-11-2 3rn4 6 2011-12-2 4rn5 4 2011-11-1 1rn6 5 2011-12-2 1rnrn其中表B列P_ID是表A列ID的父键rnrnrn我现在需要根据商品编号和日期年月查询rn分别计算出总计库存是多少,12月份库存,11月份库存数rn结果如下rn商品编号:20111211rn总计 11月份库存 12月库存rn14 9 5rnrnrnrn我是这样写的,但是不正确rnrn rnysql="select sum(表B.库存数) as 别名A,sum(case 表B.库存数 when year(表B.日期)>=2011 and month(表B.日期)>=11 and 表A.商品编号='20111211' then 1 else 0 end) from 表A,表B where 表A.ID=表B.P_ID and year(表B.日期)>=2011 and month(表B.日期)>=11 and 表A.商品编号='20111211'rnrn
将一表字段插入另一表的存储过程
有表Arnid name age address rn11 aa 22 aaaarn22 bb 22 bbbbrn33 cc 22 ccccrn44 ff 22 ffffrn55 dd 22 dfdgrn表brnid name agern1 aa 22rn2 dd 22rn3 ee 22rnrn将表A字段插入到表B,name字段相同的行则不插入,如何用存储过程实现??rn表Brnid name agern1 aa 22rn2 dd 22rn3 ee 22rn22 bb 22 rn33 cc 22 rn44 ff 22 rnrn写了一个这样的,执行时候有错误rncreate proc pro_test(@id int,@name varchar(50),@age int)rnasrnbeginrn if not exists(select * from insertTest where name=@name)rn beginrn insert into insertTest values(@id,@name,@age)rn endrnendrnrnexec pro_test(select * from a)rn错误,郁闷,刚学,请教下
同一表两条记录同一字段做比较的问题
一张sql表中的最新两条记录里的两个数字类型字段对比,最后一条比上一条的值大则输出上升,一样大输出持平 比上一条小则输出下降 这个数据查询怎么写?
找同一表中某字段重复的记录?
找出如下表中f1&f2重复的记录rnrn如有一表T1:rnf1 f2 f3 f4rn11 22 33 44rn11 22 333 444rn111 222 3333 4444rnrn要得到结果:rnf1 f2 f3 f4rn11 22 33 44rn11 22 333 444rnrn直接一句SQL好像没办法解决?那用存储过程要怎么写?rnrn在线等。。。。。。。。。谢谢
如何实现同一表中字段的排序统计
数据库表 A 中有字段 A1 A2 rnrnA1是姓名,A2是销售额rnrnA1 A2rn李一 200rn张二 300rn李一 200rn李一 200rnrnrnrn如何实现 以 “姓名” 为标准的“销售额”排名rnrn最终效果如下rnrn李一 600rn张二 200rnrnrnrnrn
同一表内自动添加无内容字段
现有一数据库,在abc表中有1000条记录,且有以下8个字段:rn代码 名称 证件号 金额 产地 税额 aa bb cc(aa、bb、cc三个字段在执行操作前为空)rn产地字段包括:北京、天津、上海、广州四个值rn需要通过一个命令按钮,完成以下三项操作:(请指教)rn1.查询出产地为北京的所有记录(查询结果可不显示),并将金额字段内容自动批量添加至aa字段中。rn2.查询出产地为上海的所有记录(查询结果可不显示),并将产地字段内容自动批量添加至bb字段中。rn3.再将aa字段内容与税额字段内容相加自动批量添加至cc字段中。rn
求查询同一表中字段变化数据
rn求查询A表中5月相比4月部门及班组发生变化的记录,不包含新增或减少的记录。rnrnrnA表结构:rnrnid 年 月 工号 姓名 部门 班组 ……rn1 2011 4 1111 aaaa D1 T1 ……rn2 2011 4 2222 bbbb D1 T1 ……rn3 2011 4 3333 cccc D1 T1 ……rn4 2011 5 1111 aaaa D2 T1 ……rn5 2011 5 2222 bbbb D3 T2 ……rn6 2011 5 3333 cccc D1 T1 ……rn7 2011 5 4444 dddd D1 T1 ……rnrnrn需要查询的结果为:rnid 年 月 工号 姓名 部门 班组 ……rn4 2011 5 1111 aaaa D2 T1 ……rn5 2011 5 2222 bbbb D3 T2 ……rnrnrnrnrn
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview