sql >> Database >  >> RDS >> Sqlserver

Maak een berekende kolom met gegevens uit een andere tabel

U kunt daarvoor een door de gebruiker gedefinieerde functie maken:

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

De berekende kolom kan dan als volgt worden toegevoegd:

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

Ik zou hier echter liever een mening over hebben:

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. Oracle vóór invoegen OF update-triggervoorbeeld

  2. Handleiding voor SQL Joins

  3. ORA-65096-fout oplossen bij het maken van geautomatiseerde tests in Django met behulp van Oracle

  4. Hoe importeer ik een Excel-bestand in SQL Server?