我知道此行连接问题之前已被问过,但我找不到可以解决问题的答案。我有一个较旧的AS400 / DB2数据库,我使用Excel ODBC连接器来获取数据。我过去使用过MySQL,但这是我在MSSQL上的第一次尝试。要设置问题,我有以下内容: 工单号(wono) 注释行号(ntlno1) 注释数据50个字符文本长度(ntda)
对于每个元素,您可以有多个行号(ntlno1),每个行号最多可包含50个字符的数据(ntda)。我需要能够通过工单号和注释行号将所有ntda数据连接到一个字段中。以下是我到目前为止的情况:
SELECT
DISTINCT WOHDR.wono AS WONO, WONOT.ntlno1 AS NoteLineNo, substring((Select ','+WONOT.ntda AS [text()]
From libd09.wopnote0 WONOT
Where WONOT.wono = WOHDR.wono
ORDER BY WONOT.wono
For XML PATH ('')),2, 1000) [wopnote0]
FROM libd09.wophdrs0 WOHDR
LEFT JOIN libd09.wopsegs0 WOSEG ON (WOHDR.wono = WOSEG.wono)
LEFT JOIN libd09.cslusrp0 USR ON (WOSEG.clsdby = USR.uspfid)
LEFT JOIN libd09.woplabr0 WOLBR ON (WOHDR.wono = WOLBR.wono)
LEFT JOIN libd09.wopnote0 WONOT ON (WOHDR.wono = WONOT.wono)
LEFT JOIN libd09.wopmisc0 WOMISC ON (WOHDR.wono = WOMISC.wono)
LEFT JOIN libd09.wopempf0 WOEMP ON (WOMISC.epidno = WOEMP.epidno)
LEFT JOIN libd09.woppart0 WOPART ON (WOHDR.wono = WOPART.wono)
LEFT JOIN tafilev22.employ01 TAEMP ON (WOMISC.epidno = TAEMP.ememp)
WHERE WOHDR.opndt8 BETWEEN ? AND ?
我只包含了相关的列,尽管连接包含了我需要的所有表。当我运行查询时,我收到以下错误:令牌[无效。有效代币:。
我确信我错过了一些简单的东西,所以任何建议或帮助都会受到高度赞赏。