Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm cách nào để kết hợp dữ liệu OPENXML vào Truy vấn tham gia bên trong của tôi?

Bạn có nhấn mạnh bằng cách sử dụng OpenXML? Nó cũ, nó kế thừa - việc sử dụng các hàm XQuery gốc thường dễ dàng hơn nhiều .

Hãy thử một cái gì đó như sau:

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

Điều này cho tôi kết quả là:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách viết hoa chữ cái đầu tiên của bản ghi trong SQL

  2. Cách xác định tổng số kết nối đang mở / hoạt động trong ms sql server 2005

  3. Làm cách nào để lấy thông tin ngày / giờ từ cột TIMESTAMP?

  4. Cách tìm một mục danh sách tại một vị trí được chỉ định trong SQL Server

  5. Oracle tương đương với hàm IsNull () của SQL Server là gì?