在存储过程中运行查询时,我从 MySQL 收到此错误:
错误代码:1172
结果包含多行
我理解错误:我正在做一个SELECT (...) INTO (var list)
,因此查询需要返回单行。当我使用LIMIT 1
or SELECT DISTINCT
,错误消失。
但是:当我手动运行原始查询时(没有LIMIT
or DISTINCT
), 它确实返回一行。所以我怀疑我可能遇到了 MySQL 错误。有谁知道会发生什么?
EDIT
我按照要求发布 SQL。以下划线开头的所有内容都是在过程中前面声明的变量。当我测试它时,我正在替换_cd_pai_vc
以及导致问题的记录的 ID。
SELECT a.valor, IFNULL(p.valor, 0), fn_cd2alias(ra.cd_registro), fn_cd2alias(IFNULL(p.valor,0))
INTO _valor, _cd_pai_vc, _alias_verbete, _alias_pai
FROM dados_registros ra
INNER JOIN dados_varchar255 a
ON a.cd_registro = ra.cd_registro
AND a.fl_excluido = 0
AND a.alias = 'vc-verbetes-termo'
LEFT OUTER JOIN dados_registros rp
INNER JOIN dados_int p
ON p.cd_registro = rp.cd_registro
AND p.fl_excluido = 0
AND p.alias = 'vc-remissoes-termo referenciado'
INNER JOIN dados_int pt
ON pt.cd_registro = rp.cd_registro
AND pt.fl_excluido = 0
AND pt.alias = 'vc-remissoes-tipo remissao'
AND fn_cd2alias(pt.valor) = 'hierarquica'
ON ra.cd_registro = rp.cd_entidade
AND rp.fl_excluido = 0
AND fn_cd2alias(rp.cd_modulo) = 'vc-remissoes'
WHERE ra.cd_registro = _cd_pai_vc
AND ra.fl_excluido = 0;
我有类似的问题,当我把表别名它就像一个魅力。
SELECT t.tax_amount,t.tax_percentage FROM nepse_tax t
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)