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

एक टेबल से चुनें और दूसरी दो टेबल में डालें

मुझे लगता है कि आप नीचे की तरह कुछ चाहते हैं। अस्थायी तालिका @Output पहली तालिका के लिए सम्मिलित पहचान को कैप्चर करेगी, फिर इनका उपयोग दूसरी तालिका में सम्मिलित करते समय किया जा सकता है।

DECLARE @Output TABLE 
(       FirstTableID    INT NOT NULL PRIMARY KEY, 
        WarehouseCode   VARCHAR(3), 
        CustomerCode    VARCHAR(4)
)
INSERT INTO FirstTable (WarehouseCode, CustomerCode)
OUTPUT inserted.FirstTblID, inserted.WarehouseCode, inserted.CustomerCode INTO @Output
SELECT  DISTINCT LEFT(LocationCode, 3) [WarehouseCode], CustomerCode
FROM    [PrimaryTable]

INSERT INTO SecondTable (ItemCode, LocationCode, CustomerCode, FirstTblID)
SELECT  p.ItemCode,
        p.LocationCode,
        p.CustomerCode, 
        o.FirstTableID
FROM    [PrimaryTable] p
        INNER JOIN @Output o
            ON LEFT(LocationCode, 3) = WarehouseCode
            AND p.CustomerCode = o.CustomerCode



  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. SQL सर्वर (T-SQL उदाहरण) में 'स्मॉलडेटटाइम' को 'डेटाटाइम 2' में बदलें

  3. कई इंडेक्स वाली टेबल के लिए स्लो बल्क इंसर्ट

  4. क्या लॉग फ़ाइल का आकार डेटाबेस के प्रदर्शन को प्रभावित कर रहा है? लॉग फ़ाइल को कैसे सिकोड़ें?

  5. SQL नेटवर्क इंटरफेस, त्रुटि:50 - स्थानीय डेटाबेस रनटाइम त्रुटि हुई। एक स्वचालित उदाहरण नहीं बना सकता