Fórum sql #281511
13/05/2005
0
O erro ocorreu a partir do momento que inseri esta parte dó código:
[i:05e42d782f] , (SELECT Numero
FROM ReferenciaNumeracao
WHERE NVL(cTitulo, NULL) = 200
AND cLargura = pec.cLargura
AND cGrade = pec.cGrade
AND cTipoFt = pec.cTipoFt
AND cRefer = pec.cRefer) Numero[/i:05e42d782f]
SELECT ped.cPessoaJur || ´ ´ || pes.Fantasia Cliente
, ped.IDLote
, pec.cRefer
, rec.Descricao
, ped.DataEntrega
, ped.Pedido
, ref.dRefer
[i:05e42d782f] , (SELECT Numero
FROM ReferenciaNumeracao
WHERE NVL(cTitulo, NULL) = 200
AND cLargura = pec.cLargura
AND cGrade = pec.cGrade
AND cTipoFt = pec.cTipoFt
AND cRefer = pec.cRefer) Numero[/i:05e42d782f]
, (SELECT TextoTecnico
FROM v_FichaTecnica
WHERE NVL(cTitulo, NULL) = 32250
AND SeqCombFt = pec.SeqCombFt
AND cLargura = pec.cLargura
AND cGrade = pec.cGrade
AND cTipoFt = pec.cTipoFt
AND cRefer = pec.cRefer) StockNumber
, pec.cTipoFt
, ref.cConstrucao
, tgr.Pares
, tgr.Pares / pec.QuantGrades3 ParesConv
, tgr.cUnidade
, tgr.NumGrade
, (SELECT Data
FROM Retornos
WHERE cFase = 1
AND Talao = tal.Talao) Corte
, (SELECT Data
FROM Retornos
WHERE cFase = 5
AND Talao = tal.Talao) Costura
, (SELECT Data
FROM Retornos
WHERE cFase = 8
AND Talao = tal.Talao) Montagem
FROM TalaoGrades tgr
, Taloes tal
, ReferenciaComb rec
, Referencias ref
, PedidoGrades peg
, PesJurFis pes
, PedidoCombs pec
, FasesFt f
, Pedidos ped
WHERE tgr.NumGrade = peg.NumGrade
AND tgr.Talao = tal.Talao
AND tal.InternoPedComb = pec.InternoPedComb
AND rec.cLargura = pec.cLargura
AND rec.cGrade = pec.cGrade
AND rec.SeqCombFt = pec.SeqCombFt
AND rec.CTipoFt = pec.CTipoFt
AND rec.cRefer = pec.CRefer
AND ref.CTipoFt = pec.CTipoFt
AND ref.CRefer = pec.CRefer
AND peg.InternoPedComb = pec.InternoPedComb
AND pes.cPessoaJur = ped.cPessoaJur
AND pec.Pedido = ped.Pedido
AND (:p_SoAberto = ´N´
OR NOT EXISTS (SELECT 1
FROM Retornos
WHERE cFase = f.cFaseFim
AND Talao = tal.Talao))
AND ped.DataPedido >= :p_Inicio
AND (ped.CarimboCorrugado = :p_CFaseFT
OR :p_CFaseFt = -1)
AND (ped.cPessoaJur = :p_CCliente
OR :p_CCliente = -1)
AND (ped.IdLote = :p_IdLote
OR :p_IdLote IS NULL)
AND f.cFaseFt = ped.CarimboCorrugado
AND ped.cTipoPedido = 7
ORDER BY ped.cPessoaJur || ´ ´ || pes.Fantasia
, ped.IDLote
, pec.CRefer
, ped.DataEntrega
, ped.Pedido
, rec.Descricao
Daia
Curtir tópico
+ 0Posts
13/05/2005
Rjun
Ao que a parece, ele espera que esse Select retornasse apenas uma linha. No entanto deve estar retornando mais do que o esperado. Execute so esse trecho e veja quantas linhas ele retorna.
Gostei + 0
13/05/2005
Daia
Gostei + 0
13/05/2005
Rjun
Gostei + 0
13/05/2005
Daia
(SELECT ft.TextoTecnico
FROM v_FichaTecnica ft, pedidocombs pec
WHERE NVL(ft.cTitulo, NULL) = 32250
AND ft.SeqCombFt = pec.SeqCombFt
AND ft.cLargura = pec.cLargura
AND ft.cGrade = pec.cGrade
AND ft.cTipoFt = pec.cTipoFt
AND ft.cRefer = pec.cRefer)
Gostei + 0
13/05/2005
Rjun
Tem certeza que esse select tambem retorna mais que 1 registro ? Se você tirar o 1° trecho de código, seu select funciona ?
Gostei + 0
13/05/2005
Daia
Não sei mais o q fazer?
Gostei + 0
13/05/2005
Rjun
Gostei + 0
13/05/2005
Daia
Gostei + 0
13/05/2005
Rjun
Pelo que eu saiba, o subselect só pode retornar 1 linha, senão dispara o erro que esta dando...
Gostei + 0
13/05/2005
Kotho
outra coisa... pq vc utiliza NVL(cTitulo, NULL)... você está convertendo de NULL para NULL... não precisa.
Coloca para nós a estrutura da tabela ReferenciaNumeracao, e qual a PrimaryKey dela...
Gostei + 0
13/05/2005
Daia
SQL> desc referencianumeracao
Name Null? Type
----------------------------------------------------- -------- ------------
CREFER NOT NULL VARCHAR2(12)
CTIPOFT NOT NULL NUMBER(6)
CGRADE NOT NULL NUMBER(6)
CLARGURA NOT NULL VARCHAR2(4)
NUMGRADE NOT NULL VARCHAR2(5)
CTITULO NOT NULL NUMBER(6)
TIPO NOT NULL VARCHAR2(1)
NUMERO VARCHAR2(15)
Gostei + 0
13/05/2005
Kotho
Gostei + 0
13/05/2005
Daia
Gostei + 0
13/05/2005
Kotho
No caso o campo TIPO ficou de fora... verifique se tem como relaciona-lo à alguma tabela que está na cláusula FROM do SELECT principal, ou então, se ele deve ter um valor fixo...
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)