Logo Hardware.com.br
cesarviana99
cesarviana99 Membro Junior Registrado
106 Mensagens 0 Curtidas

Ajuda Query Sql

#1 Por cesarviana99 21/01/2014 - 15:38
Pessoal, boa tarde!

Fiz uma query e tenho o seguinte resultado:


Vlr Frete NF
10,00 0001
10,00 0001
12,00 0002
12,00 0002
12,00 0002
12,50 0003
12,50 0003
12,50 0003
12,50 0003



O meu problema é o seguinte, para a minha NF eu tenho mais de um produto, como no exemplo acima.
Tem algum comando no SQL para que quando a NF for igual ele mostrar o VLR FRETE só uma vez, como no exemplo abaixo:

Eu preciso de algum comando para que fazer essa validação se a nota for igual ele mostrar o valor só uma vez.


Vlr Frete NF
10,00 0001
0001
12,00 0002
0002
0002
12,50 0003
0003
0003
0003




Obrigado a todos!!!!
TRONNER
TRONNER Cyber Highlander Registrado
32.2K Mensagens 7.3K Curtidas
#2 Por TRONNER
21/01/2014 - 16:21
Você pode incluir o comando distinct para tentar reduzir as repetições mas precisaria saber como está sua consulta atual.., seria tipo:

select distinct tabela1, tabela2, from basedados where..
cool.png**Quando pensar ser um Golias, cuidado para não encontrar algum Davi**
veja.png Conheça os Poderosos e Gratuitos [ Iperius Backup ] e [ Iperius Remote ]
veja.png Todo dia um software novo e grátis [ clicando aqui ]
boa.gif Faça valer a sua voz com o Mudamos+ { https://www.mudamos.org }
cesarviana99
cesarviana99 Membro Junior Registrado
106 Mensagens 0 Curtidas
#7 Por cesarviana99
23/01/2014 - 13:13
Intruso, boa tarde!


O CTR é vinculado a uma NOTA e quando eu faço o JOIN com a nota, ele repete o valor do CTR para cada produto que ele lista.

Eu preciso que o VALOR CTR saiu uma única vez.
Ex: na nota 100 tem 4 produtos ele lista o VALOR CTR 4 vezes, preciso que só saia uma vez.


Tentei montar um exemplo, joga no sql que você vai entender.

Abs!



-- TABELA #CTR
CREATE TABLE #CTR
(
COD INT,
VALOR REAL,
NFORIGIAL INT
)


INSERT #CTR (COD,VALOR,NFORIGIAL) VALUES (1,100,100)
INSERT #CTR (COD,VALOR,NFORIGIAL) VALUES (2,100,101)
INSERT #CTR (COD,VALOR,NFORIGIAL) VALUES (3,100,102)
INSERT #CTR (COD,VALOR,NFORIGIAL) VALUES (4,100,103)
INSERT #CTR (COD,VALOR,NFORIGIAL) VALUES (5,100,104)


TRUNCATE TABLE #CTR


--TABELA #NFORIG
CREATE TABLE #NFORIG
(
CODIGO INT,
NUM_NF INT,
PRODUTO VARCHAR(4),
VALORNF REAL
)


INSERT #NFORIG (CODIGO,NUM_NF,PRODUTO,VALORNF) VALUES (1,100,'CUB1',100)
INSERT #NFORIG (CODIGO,NUM_NF,PRODUTO,VALORNF) VALUES (2,100,'CUB2',110)
INSERT #NFORIG (CODIGO,NUM_NF,PRODUTO,VALORNF) VALUES (3,100,'CUB3',90)
INSERT #NFORIG (CODIGO,NUM_NF,PRODUTO,VALORNF) VALUES (4,101,'CUB1',75)
INSERT #NFORIG (CODIGO,NUM_NF,PRODUTO,VALORNF) VALUES (5,101,'CUB2',60)
INSERT #NFORIG (CODIGO,NUM_NF,PRODUTO,VALORNF) VALUES (6,102,'CUB4',175)
INSERT #NFORIG (CODIGO,NUM_NF,PRODUTO,VALORNF) VALUES (7,103,'CUB1',100)
INSERT #NFORIG (CODIGO,NUM_NF,PRODUTO,VALORNF) VALUES (8,104,'CUB2',1110)
INSERT #NFORIG (CODIGO,NUM_NF,PRODUTO,VALORNF) VALUES (9,104,'CUB4',500)
INSERT #NFORIG (CODIGO,NUM_NF,PRODUTO,VALORNF) VALUES (10,104,'CUB5',200)
INSERT #NFORIG (CODIGO,NUM_NF,PRODUTO,VALORNF) VALUES (11,104,'CUB6',120)
INSERT #NFORIG (CODIGO,NUM_NF,PRODUTO,VALORNF) VALUES (12,104,'CUB7',30)


TRUNCATE TABLE #NFORIG


SELECT
CTR.COD as 'COD.CTR',
CTR.VALOR as 'VALOR CTR',
CTR.NFORIGIAL as 'NOTA',


NFORI.PRODUTO AS 'PRODUTO',
NFORI.VALORNF
FROM #CTR AS CTR


INNER JOIN #NFORIG AS NFORI ON NFORI.NUM_NF = CTR.NFORIGIAL
intruso
intruso Tô em todas Registrado
1.8K Mensagens 41 Curtidas
#8 Por intruso
23/01/2014 - 14:16
cesarviana99 disse:



Cara, eu entendi o que você quer fazer, eu não entendi "O QUE" você vai fazer com um select desse jeito.

Por exemplo, "Intruso, eu preciso desse select assim porque vou usar essa query para fazer um somatório em um relatório e não que duplicar os valores no final" ou então "Intruso, eu preciso deles assim porque facilita simplesmente mostrar em uma tela e o usuário pediu para a informação aparecer assim."

Entendeu o que estou perguntando?
cesarviana99
cesarviana99 Membro Junior Registrado
106 Mensagens 0 Curtidas
#9 Por cesarviana99
23/01/2014 - 14:51
Intruso,

Eu vou usar a query no Reporting Service, no relatório vou mostrar quando eu gastei de Frete, qual foi o meu faturamento e os produtos referente a essa nota.

Eu preciso que o valor venha só uma vez, para quando eu jogar no Reporting Service ele trazer o valor do frete correto.

Se eu mandar ele fazer a soma do jeito que esta, se eu tiver 3 produtos na Nota ele vai trazer o valor do frete 3x.

Deu para entender?

Obrigado pela ajuda!!!
© 1999-2025 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal