Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cập nhật truy vấn trong SQL Server thông qua JOINS

Vì id người dùng giống nhau trong tất cả các hàng, bạn sẽ nhận được cùng một giá trị cho độ tuổi.
Điều này có thể được giải quyết bằng cách sử dụng CTE , như thế này:

;with cte as 
(
  select id, userid, age, ROW_NUMBER() OVER(order by id) rn
  FROM #tempMock
)
UPDATE t1
SET    t1.age = t2.age
FROM   #temp t1
INNER JOIN cte t2 ON t1.userid = t2.userid and t1.id = t2.rn+1;

xem fiddle tại đây



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách lọc các đối tượng trong SQL Server Management Studio (SSMS) - Hướng dẫn SQL Server / TSQL Phần 19

  2. freeTDS không sử dụng cấu hình của nó

  3. Cần một cột ngày giờ trong SQL Server tự động cập nhật khi bản ghi được sửa đổi

  4. Cú pháp kiểm tra tất cả các thủ tục được lưu trữ?

  5. máy chủ sql được liên kết máy chủ với oracle trả về không tìm thấy dữ liệu nào khi dữ liệu tồn tại