sql >> Database teknologi >  >> RDS >> Sqlserver

Sammenlign to sæt XML-data ved hjælp af XQuery i SQL Server

;with XML1 as
(
  select T.N.value('local-name(.)', 'nvarchar(100)') as NodeName,
         T.N.value('.', 'nvarchar(100)') as Value
  from @XML1.nodes('/NewDataSet/Employee/*') as T(N)
),
XML2 as
(
  select T.N.value('local-name(.)', 'nvarchar(100)') as NodeName,
         T.N.value('.', 'nvarchar(100)') as Value
  from @XML2.nodes('/NewDataSet/Employee/*') as T(N)
)
select coalesce(XML1.NodeName, XML2.NodeName) as NodeName, 
       XML1.Value as Value1, 
       XML2.Value as Value2
from XML1
  full outer join XML2
    on XML1.NodeName = XML2.NodeName
where coalesce(XML1.Value, '') <> coalesce(XML2.Value, '')    

Resultat:

NodeName             Value1               Value2
-------------------- -------------------- --------------------
EmpID                1005                 1006
DOB                  12/02/1981           05/02/1981
DeptID               ACC001               ACC002
Salary               10,500               10,900


  1. tilføje $ og runde 2 decimaler SQL

  2. Lagring af tags i databasen. Gem tag én eller mange gange?

  3. Sådan oversætter du Codeigniter præformateret forespørgsel til en original Mysql-forespørgsel (f.eks. $this->db->select('table1.*,table2.*,table3.*'))

  4. opsæt PostgreSQL med Laravel i MAMP