我正在研究SQL Server 2008 R2。我有以下2张桌子:
CREATE TABLE TRK_REQUEST(
REQUEST_ID int,
APPROVER_ID int CONSTRAINT app_ID_fk FOREIGN KEY REFERENCES TRK_APPROVER(APPROVER_ID),
APPROVER_LEVEL int)
CREATE TABLE TRK_APPROVER(APPROVER_ID int IDENTITY(1,1) PRIMARY KEY,
NAME Varchar(10))
INSERT INTO TRK_APPROVER VALUES('Approver_1'),('Approver_2'),('Approver_3')
INSERT INTO TRK_REQUEST VALUES(1, 1, 0),(1, 2, 1), (1, 3, 2)
我想要的是一个版本,group_concat()
但值应该在单独的列中(不是逗号分隔)
我试过加入桌子,
SELECT REQ.REQUEST_ID, APP.NAME FROM TRK_REQUEST REQ
JOIN TRK_APPROVER APP
ON REQ.APPROVER_ID = APP.APPROVER_ID
但它给了我3个不同的行。
想要的输出是这样的,
| Request_ID | APPROVER_NAME1 | APPROVER_NAME2 | APPROVER_NAME3
+-------------+----------------------+----------------------+--------------------+
| 1 | Approver_1 | Approver_2 | Approver_3
我在 SO 上找到了一些匹配的示例,但不是我所期望的。请求您的帮助。