【发布时间】:2022-01-04 03:37:27
【问题描述】:
我在查询某些信息时遇到了一些问题
select id_column, d_description
from table1
where (select substring(cast(g_xml_comprobante as nvarchar(max)), charindex('contrato=', cast(g_xml_comprobante as nvarchar(max))) + 10, 15) as 'contract'
from table1 a, table 3 b
where convert(varchar(6), b.d_date, 112) > '202108'
and b.id_column = a.id_column) = '2019896177'
我收到此错误:
消息 512,第 16 级,状态 1,第 1 行
子查询返回超过 1 个值。当子查询跟随 =、!=、、>= 或子查询用作表达式时,这是不允许的。
情况是这样的,我们在table1的一列中有XML信息,在XML中我们有一个合同号。所以我想要的是从某些合同中获取所有的 ID,我有合同的价值,这就是为什么我需要它在哪里。
有可能实现吗?
如果我不清楚,请告诉我,以便我澄清。
感谢您的帮助!
【问题讨论】:
-
Bad habits to kick : using old-style JOINs - 旧式 逗号分隔的表格列表 样式已替换为 ANSI 中的 proper ANSI
JOIN语法-92 SQL 标准(近 30 年前),不鼓励使用它
标签: sql sql-server xml subquery