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

SQL सर्वर परिकलित स्तंभ किसी अन्य तालिका से चयन करें

मुझे पता है कि यह उत्तर दो साल देर से आता है, लेकिन सिर्फ किसी की मदद करने के लिए जो इस पोस्ट को गुगल करता है और पाता है:

उपयोगकर्ता द्वारा परिभाषित फ़ंक्शन को परिभाषित करना और इसे गणना मूल्य के रूप में उपयोग करना पूरी तरह से कानूनी है। इस फ़ंक्शन में अन्य तालिकाओं के चुनिंदा कथन हो सकते हैं।

CREATE FUNCTION dbo.getAdViews(@packageId int)
RETURNS INT
AS
BEGIN
    declare @bav int
    select @bav = BaseAdViews from Packages where PackageId = @packageId
    RETURN @bav
END

फिर अपने परिकलित कॉलम में, बस अभिव्यक्ति का प्रयोग करें dbo.getSumAdViews(PackageId)+MediaSpend इस प्रकार:

CREATE TABLE [dbo].[Orders](
    [OrderId] [int] IDENTITY(1,1) NOT NULL,
    [PackageId] [int] NOT NULL,
    [MediaSpend] [int] NULL,
    [TotalAdViews] AS dbo.getAdViews(PackageId)+MediaSpend
) ON [PRIMARY]


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एसक्यूएल - एग्रीगेट्स के बिना कई कॉलम पिवट करें

  2. दुनिया में सबसे लोकप्रिय डेटाबेस प्रबंधन प्रणाली

  3. SQL के साथ बल्क रिकॉर्ड अपडेट

  4. एक्सेस/एसक्यूएल में रिकॉर्ड समस्याओं का संपादन (संघर्ष लिखें)

  5. SQL सर्वर के साथ डालने/अपडेट करने से पहले मैं डेटा को कैसे सत्यापित कर सकता हूं?