更新另一个表中单个列的所有行
这是我的桌子;
TableP:
Pname | Psize
x | -
y | -
z | -
g | -
h | -
TableS:
Pname | Pdate | Ptext
x | XX.XX.XXXX | aasdhb
x | XX.XX.XXXX | asdbahsbdhasbdh
y | XX.XX.XXXX | ajsdbajsdba
y | XX.XX.XXXX | asndansjdbasd
x | XX.XX.XXXX | asd
z | XX.XX.XXXX | asdasbdhasb
g | XX.XX.XXXX | asdnjasdja
g | XX.XX.XXXX | asndjsabdas
h | XX.XX.XXXX | asndjand
x | XX.XX.XXXX | asdjasndnaksd
正如您所注意到的,我添加了一个新列(Psize),它代表存储TableS.Ptext 长度。
如何使用相关 Ptext 长度更新 Psize?
这是我的查询,它不起作用:)(子查询返回超过 1 行)
UPDATE TableP
set TableP.Psize = (SELECT sum(LENGTH(Ptext)) as length
FROM TableS group by Pname)
where TableP.Pname = TableS.Pname
提前致谢。
Here are the my tables;
TableP:
Pname | Psize
x | -
y | -
z | -
g | -
h | -
TableS:
Pname | Pdate | Ptext
x | XX.XX.XXXX | aasdhb
x | XX.XX.XXXX | asdbahsbdhasbdh
y | XX.XX.XXXX | ajsdbajsdba
y | XX.XX.XXXX | asndansjdbasd
x | XX.XX.XXXX | asd
z | XX.XX.XXXX | asdasbdhasb
g | XX.XX.XXXX | asdnjasdja
g | XX.XX.XXXX | asndjsabdas
h | XX.XX.XXXX | asndjand
x | XX.XX.XXXX | asdjasndnaksd
As you can notice, i've added a new column (Psize) which stands for storing TableS.Ptext length.
How can i update Psize with related Ptext length?
Here is the my query which is not work :) (Subquery returns more than 1 row)
UPDATE TableP
set TableP.Psize = (SELECT sum(LENGTH(Ptext)) as length
FROM TableS group by Pname)
where TableP.Pname = TableS.Pname
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试:
Try:
另一种形式保留您的子选择:
Another form keeping your subselect: