sql >> Database >  >> RDS >> Sqlserver

Hoe voeg ik OPENXML-gegevens toe aan mijn Inner Join Query?

Staat u aan over het gebruik van OpenXML? Het is oud, het is legacy - het gebruik van de native XQuery-functies is doorgaans veel gemakkelijker .

Probeer zoiets als dit:

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

Dit geeft me een output van:



  1. MySQL Meerdere joins in één query?

  2. Hoe gegevens uit de mysql-database te halen

  3. Hoe worden gelijktijdige zoekopdrachten afgehandeld in een MySQL-database?

  4. PostgreSQL Bewaar en kies bestanden met Bytea binaire data met C libpq