SQL Server多表关联更新数据
select a.id, a.name, b.id, b.name from Portrait_test2 a , Portrait_test1 b where a.id = b.id这是查询结果
id name id name
1 1 1
1 1 2
1 1 3
2 2 2
2 2 3
update a set a.name = a.name+', ' + b.name from Portrait_test2 a , Portrait_test1 b where a.id = b.id
select * from Portrait_test2
执行后:
id name
1 , 1
2 , 2
3
这种更新name不应该是叠加的吗?
鱼币~ 很奇怪,你这里查询后a的name那一列怎么是空的呢? table a.name 是 空字符串 + "," + b.name ,结果不就是 , b.name 吗。你期望是什么样子? 期待结果是:
id name
1 , 1, 2, 3
2 , 2, 3
3 773254968 发表于 2020-5-30 22:38
期待结果是:
id name
1 , 1, 2, 3
google key words: sql server group by concat strings
https://stackoverflow.com/questions/273238/how-to-use-group-by-to-concatenate-strings-in-sql-server
https://sqlperformance.com/2014/08/t-sql-queries/sql-server-grouped-concatenation
页:
[1]