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

Tạo cột được tính toán bằng cách sử dụng dữ liệu từ một bảng khác

Bạn có thể tạo một hàm do người dùng xác định cho:

CREATE FUNCTION dbo.CountUses(@pictureId INT)
RETURNS INT
AS
  BEGIN
      RETURN
        (SELECT Count(id)
         FROM   PictureUse
         WHERE  PictureId = @PictureId)
  END 

Sau đó, cột được tính toán có thể được thêm vào như sau:

ALTER TABLE dbo.Picture
ADD NofUses AS dbo.CountUses(Id)

Tuy nhiên, tôi muốn thực hiện một quan điểm cho điều này:

CREATE VIEW PictureView
AS
  SELECT Picture.Id,
         PictureName,
         Picture.CreateDate,
         Count(PictureUse.Id) NofUses
  FROM   Picture
         JOIN PictureUse
           ON Picture.Id = PictureUse.PictureId
  GROUP  BY Picture.Id,
            PictureName,
            Picture.CreateDate 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Giao diện mạng SQL, lỗi:50 - Đã xảy ra lỗi Thời gian chạy cơ sở dữ liệu cục bộ. Không thể tạo phiên bản tự động

  2. Tạo SQL Tạo tập lệnh cho các bảng hiện có với Truy vấn

  3. Làm cách nào để kích hoạt MSDTC trên SQL Server?

  4. Giải pháp phân trang tốt nhất sử dụng SQL Server 2005?

  5. Một số cách truy cập Microsoft SQL Server từ Linux là gì?