Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Buat Kolom Terhitung menggunakan data dari tabel lain

Anda dapat membuat fungsi yang ditentukan pengguna untuk itu:

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

Kolom yang dihitung kemudian dapat ditambahkan seperti ini:

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

Namun, saya lebih suka membuat pandangan untuk ini:

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. Cara Menemukan Kumpulan Basis Data yang Didukung oleh Instans SQL Server Anda

  2. Konversi 'datetime2' menjadi 'smalldatetime' di SQL Server (Contoh T-SQL)

  3. Apa itu Data &Informasi dan Volume Data

  4. Bagaimana cara mendapatkan penanganan kebuntuan Server Sql yang efisien di C # dengan ADO?

  5. Pandangan Pertama pada Penaksir Kardinalitas SQL Server Baru