आप उसके लिए एक उपयोगकर्ता-परिभाषित फ़ंक्शन बना सकते हैं:
CREATE FUNCTION dbo.CountUses(@pictureId INT)
RETURNS INT
AS
BEGIN
RETURN
(SELECT Count(id)
FROM PictureUse
WHERE PictureId = @PictureId)
END
परिकलित कॉलम को इस तरह जोड़ा जा सकता है:
ALTER TABLE dbo.Picture
ADD NofUses AS dbo.CountUses(Id)
हालांकि, मैं इसके बजाय एक दृष्टिकोण बनाना चाहूंगा:
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