我有这个查询完全符合我想要的mysql:
update st t1, (SELECT ref, u_peso,
(select u_peso from st
where st.ref=sc.refb)
as pesoaassumir, sc.refb
FROM st inner join sc
on st.ref=sc.ref) t2
set t1.u_peso = t2.pesoaassumir
where t1.ref=t2.ref
我试图在SQL服务器中使用它,它在t1和t2附近给了我一个错误。 我做了一些研究,发现sql server上的别名在开始时和内部都没有被调用,而且我试图改变但是我没有运气。
例如:
update t1, (SELECT ref, u_peso, (select u_peso from st where st.ref=sc.refb)
as pesoaassumir, sc.refb FROM st t1 inner join sc t2 on st.ref=sc.ref)
set t1.u_peso = t2.pesoaassumir
where t1.ref=t2.ref
这个给了我:Incorrect syntax near ','. LINE 1
。这是第一个逗号。
如果我没有让自己明确表示抱歉
(OLD POST BELOW)
update st t1, (SELECT ref, u_peso,
(select u_peso from st
where st.ref=sc.refb)
as pesoaassumir, sc.refb
FROM st inner join sc
on st.ref=sc.ref) t2
set t1.u_peso = t2.pesoaassumir
where t1.ref=t2.ref
我也尝试过这种方式:
update t1, (SELECT ref, u_peso,
(select u_peso from st t1
where t1.ref=t2.refb)
as pesoaassumir, t2.refb
FROM t1 inner join sc t2
on t1.ref=t2.ref)
set t1.u_peso = t2.pesoaassumir
where t1.ref=t2.ref
我不知道我做错了什么,我知道你可以在一分钟内解决这个问题:
(编辑)继承人我想做的事情
我有2张桌子
我无法发布图片但删除了空格
我想从第二个字段中复制字段peso以获取与第一个表相关的项目
例如
我有
table table
u_peso |
item 0.50 | item item ew
item ew null | item item qw
item qw null |
这些项目在第二张表中有关系吗?所以他们会询问0.50
table table
u_peso |
item 0.50 | item item ew
item ew 0.50 | item item qw
item qw 0.50 |
答案 0 :(得分:0)
使用SQL-Server,您可以执行以下操作:
update tp2
set
u_peso = tp.upeso
from st tp
inner join table_peso_rel rel on
rel.refA = tp.ref
inner join st tp2 on
tp2.ref = rel.refB
不确定这是否100%正确,您的表格不是很清楚..