Select retorna mais de uma coluna
09/11/2004
0
Bom dia a todos,
Meu problema parece simples, mas não estou conseguindo resolver. :oops:
Existe uma tabela de pedidos (ped_cab) que eu devo pegar os dados do código do fornecedor, o número do pedido e da tabela pedido itens (ped_itens) devo pegar a quantidade pedida, a quantidade cancelada, a quantidade recebida, o valor unitário de cada mercadoria e o valor total (quantidade recebida * valor unitário), até aí tudo bem, mas a minha dificuldade é que permitiram que se cadastre para o mesmo pedido, a mesma quantidade mas com valores unitários diferentes.
Se eu usar o SUM para totalizar os itens vai acusar:
Subquery returned more than 1 value.
Como devo proceder para que isso não aconteça?
Att
Roberto
Meu problema parece simples, mas não estou conseguindo resolver. :oops:
Existe uma tabela de pedidos (ped_cab) que eu devo pegar os dados do código do fornecedor, o número do pedido e da tabela pedido itens (ped_itens) devo pegar a quantidade pedida, a quantidade cancelada, a quantidade recebida, o valor unitário de cada mercadoria e o valor total (quantidade recebida * valor unitário), até aí tudo bem, mas a minha dificuldade é que permitiram que se cadastre para o mesmo pedido, a mesma quantidade mas com valores unitários diferentes.
Se eu usar o SUM para totalizar os itens vai acusar:
Subquery returned more than 1 value.
Como devo proceder para que isso não aconteça?
Att
Roberto
Robertolucio
Curtir tópico
+ 0
Responder
Posts
09/11/2004
Marcus.magalhaes
Bom dia Roberto.
Fiz um teste rápido e funcionou, me corrija no que estiver diferente pf.
[color=red:22ae6951dd]Create Table ped_cab (codfor Int, codped Int)
GO
Create table ped_itens (codped Int, qtdepedit Int, qtdecancpedit Int, qtderecpedit Int, valunitpedit Money)
GO
Insert Into ped_cab (codfor, codped) values (1, 1)
Insert Into ped_cab (codfor, codped) values (1, 2)
Insert Into ped_cab (codfor, codped) values (1, 3)
GO
Insert Into ped_itens (codped, qtdepedit, qtdecancpedit, qtderecpedit, valunitpedit) values (1, 2, 1, 1, 10)
Insert Into ped_itens (codped, qtdepedit, qtdecancpedit, qtderecpedit, valunitpedit) values (1, 2, 1, 1, 15)
Insert Into ped_itens (codped, qtdepedit, qtdecancpedit, qtderecpedit, valunitpedit) values (2, 2, 1, 1, 10)
Insert Into ped_itens (codped, qtdepedit, qtdecancpedit, qtderecpedit, valunitpedit) values (2, 2, 1, 1, 15)
Insert Into ped_itens (codped, qtdepedit, qtdecancpedit, qtderecpedit, valunitpedit) values (3, 2, 1, 1, 10)
Insert Into ped_itens (codped, qtdepedit, qtdecancpedit, qtderecpedit, valunitpedit) values (3, 2, 1, 1, 15)
GO
Select ped.codfor, ped.codped, sum(pedit.qtdepedit) ´Qtde Pedida´, sum(pedit.qtdecancpedit) ´Qtde Cancelada´, sum(pedit.qtderecpedit) ´Qtde Recebida´, sum((pedit.qtderecpedit * pedit.valunitpedit)) ´Valor Total´
From ped_cab ped Inner Join ped_itens pedit On ped.codped = pedit.codped
Group by ped.codfor, ped.codped
GO
Drop Table ped_cab
GO
Drop Table ped_itens
GO[/color:22ae6951dd]
Att,
Fiz um teste rápido e funcionou, me corrija no que estiver diferente pf.
[color=red:22ae6951dd]Create Table ped_cab (codfor Int, codped Int)
GO
Create table ped_itens (codped Int, qtdepedit Int, qtdecancpedit Int, qtderecpedit Int, valunitpedit Money)
GO
Insert Into ped_cab (codfor, codped) values (1, 1)
Insert Into ped_cab (codfor, codped) values (1, 2)
Insert Into ped_cab (codfor, codped) values (1, 3)
GO
Insert Into ped_itens (codped, qtdepedit, qtdecancpedit, qtderecpedit, valunitpedit) values (1, 2, 1, 1, 10)
Insert Into ped_itens (codped, qtdepedit, qtdecancpedit, qtderecpedit, valunitpedit) values (1, 2, 1, 1, 15)
Insert Into ped_itens (codped, qtdepedit, qtdecancpedit, qtderecpedit, valunitpedit) values (2, 2, 1, 1, 10)
Insert Into ped_itens (codped, qtdepedit, qtdecancpedit, qtderecpedit, valunitpedit) values (2, 2, 1, 1, 15)
Insert Into ped_itens (codped, qtdepedit, qtdecancpedit, qtderecpedit, valunitpedit) values (3, 2, 1, 1, 10)
Insert Into ped_itens (codped, qtdepedit, qtdecancpedit, qtderecpedit, valunitpedit) values (3, 2, 1, 1, 15)
GO
Select ped.codfor, ped.codped, sum(pedit.qtdepedit) ´Qtde Pedida´, sum(pedit.qtdecancpedit) ´Qtde Cancelada´, sum(pedit.qtderecpedit) ´Qtde Recebida´, sum((pedit.qtderecpedit * pedit.valunitpedit)) ´Valor Total´
From ped_cab ped Inner Join ped_itens pedit On ped.codped = pedit.codped
Group by ped.codfor, ped.codped
GO
Drop Table ped_cab
GO
Drop Table ped_itens
GO[/color:22ae6951dd]
Att,
Responder
10/11/2004
Robertolucio
Oi Marcus,
Cara é isso mesmo, que me*&a, passei vergonha.
Valeu
[]´s
Roberto
Cara é isso mesmo, que me*&a, passei vergonha.
Valeu
[]´s
Roberto
Responder
Clique aqui para fazer login e interagir na Comunidade :)