Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

किसी अन्य तालिका से डेटा का उपयोग करके परिकलित कॉलम बनाएं

आप उसके लिए एक उपयोगकर्ता-परिभाषित फ़ंक्शन बना सकते हैं:

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 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL में एकाधिक तालिकाओं में शामिल होना

  2. उदाहरण के साथ OPENJSON का परिचय (SQL सर्वर)

  3. SQL सर्वर (T-SQL) में SPACE () फ़ंक्शन कैसे काम करता है

  4. SQL क्वेरी के निष्पादन का क्रम

  5. SQL सर्वर लॉगिन त्रुटि:उपयोगकर्ता 'NT AUTHORITY\SYSTEM' के लिए लॉगिन विफल