小编Him*_*man的帖子

如何为表的每一行创建 xml 字符串?

我有下面的sql表。我需要xmls在表中添加一列,使表如下所示。

CREATE TABLE employees(
      id          integer,
      name        VARCHAR(MAX),
      designation VARCHAR(MAX),
      manager     integer,
      hired_on    date,
      salary      integer,
      commission  float,
      dept        integer);
INSERT INTO employees VALUES (1,'JOHNSON','ADMIN',6,'12-17-1990',18000,NULL,4);
INSERT INTO employees VALUES (2,'HARDING','MANAGER',9,'02-02-1998',52000,300,3);
INSERT INTO employees VALUES (3,'TAFT','SALES I',2,'01-02-1996',25000,500,3);
INSERT INTO employees VALUES (4,'HOOVER','SALES I',2,'04-02-1990',27000,NULL,3);
SELECT * FROM employees WHERE id < 10;
Run Code Online (Sandbox Code Playgroud)

新的列 xml 应该如下所示(下面最后一列),我知道我可以在字符串实用程序的帮助下完成它,但无法找出简单但有效且最佳的解决方案。

在此输入图像描述

这是我尝试过的,但这并没有给我结束标签summary

SELECT (
SELECT id AS '@id',
designation AS '@type',
salary AS '@salary'
FROM employees b 
WHERE b.id = a.id
FOR XML PATH('summary')) …
Run Code Online (Sandbox Code Playgroud)

sql-server

3
推荐指数
1
解决办法
627
查看次数

标签 统计

sql-server ×1