Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да присъединя OPENXML данни към моята вътрешна заявка за присъединяване?

Настарявате ли при използване на OpenXML? Старо е, наследено е - използването на собствените функции на XQuery обикновено е много по-лесно .

Опитайте нещо подобно:

DECLARE @Employees TABLE (EmployeeID INT, Title VARCHAR(20), FirstName VARCHAR(20),LastName VARCHAR(20))

INSERT INTO @Employees VALUES(1, 'Engineering', 'Mike', 'Brown')
INSERT INTO @Employees VALUES(2, 'Programmer', 'Yves', 'Anthony')

DECLARE @doc XML 
SET @doc = '<ROOT>
              <Employee EmployeeID = "1"  EmpStatus = "Full Time"/>
              <Employee EmployeeID = "2"  EmpStatus ="Part Time" />
            </ROOT>'

;WITH XmlCTE AS
(
    SELECT
        EmpID = Empl.value('@EmployeeID', 'int'),
        EmpStatus = Empl.value('@EmpStatus', 'varchar(10)')
    FROM @doc.nodes('/ROOT/Employee') AS Tbl(Empl)
)
SELECT 
    e.*, x.EmpStatus 
FROM 
    @Employees e
INNER JOIN  
    xmlcte x ON e.EmployeeID = x.EmpID

Това ми дава резултат от:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какво е Azure Data Studio?

  2. Вземете състояние на работа на SQL Server

  3. Как да свържа стойности със същия идентификатор в sql

  4. Сравнете изтритата и вмъкната таблица в SQL Server 2008

  5. За да стартирате SSIS пакет извън SQL Server Data Tools, трябва да инсталирате Move File to Archive of Integration Services или по-висока