![ActiveDelphi - Índice do Fórum](templates/subSilver/images/logo_phpBB.gif) |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
jescudeiro Aprendiz
![Aprendiz Aprendiz](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star2.gif)
Registrado: Segunda-Feira, 2 de Abril de 2012 Mensagens: 261 Localização: ribeirao preto
|
Enviada: Sex Mai 20, 2016 2:09 pm Assunto: IsNull SqlServer 2008 |
|
|
Boa tarde,
Estou tentando enxugar um Select e descobri o IsNull. tenho o seguinte comando em uma tabela de movimento de estoque.
select i.codproduto,i.Condicao,i.item,i.Qdade,isnull(i.Vlr_Venda,i.vlr_custo)as Valor,isnull((i.qdade*i.Vlr_venda),(i.qdade*i.Vlr_Custo))as ValorTotal,
isnull(i.Cod_Cliente,i.Cod_Fornecedor),
i.Data,i.Documento,i.Cod_Empresa from Movimento_itens i
left join clientes c
on i.Cod_Cliente = c.Codigo
left join Fornecedores f
on i.Cod_Fornecedor = f.Codigo
Até ficou legal só que gostaria de mostrar somente uma coluna com o nome do cliente ou fornecedor, somente quando o cod_cliente <> null ou Cod_fornecedor <> null, mas sem precisar ter dois campos separados.
muito obrigado |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
imex Moderador
![Moderador Moderador](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/moderador.gif)
Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Sex Mai 20, 2016 2:28 pm Assunto: |
|
|
Boa tarde,
Experimente acrescentar na sua query trecho conforme o exemplo abaixo:
Código: | isnull(c.Nome, f.Nome) as Nome |
Espero que ajude
Editado pela última vez por imex em Ter Mar 07, 2023 5:24 pm, num total de 1 vez |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
jescudeiro Aprendiz
![Aprendiz Aprendiz](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star2.gif)
Registrado: Segunda-Feira, 2 de Abril de 2012 Mensagens: 261 Localização: ribeirao preto
|
Enviada: Sex Mai 20, 2016 4:56 pm Assunto: |
|
|
boa tarde, muito obrigado pela resposta, tinha feito isso e deu certo. Mas me preocupei pq na minha tabela clientes e fornecedores tenho os campos RazaoSocial e Nome. Caso o cliente nao preencha justamente o campo nome que nessa consulta o resultado vai trazer o nome do fornecedor.
fiz isnull(c.codigo, f.Nome) as Nome mas nao rola ....
abraço |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
imex Moderador
![Moderador Moderador](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/moderador.gif)
Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Sex Mai 20, 2016 5:48 pm Assunto: |
|
|
Experimente mais ou menos dessa forma:
Código: | isnull(c.Nome, c.RazaoSocial, f.Nome, f.RazaoSocial) as Nome |
Espero que ajude |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
jescudeiro Aprendiz
![Aprendiz Aprendiz](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star2.gif)
Registrado: Segunda-Feira, 2 de Abril de 2012 Mensagens: 261 Localização: ribeirao preto
|
Enviada: Dom Mai 22, 2016 9:40 am Assunto: |
|
|
Bom dia, obrigado pela atenção.
Não deu certo da a seguinte msg.
"A função isnull exige o(s) argumento(s) 2."
select i.codproduto,i.Condicao,i.item,i.Qdade,isnull(i.Vlr_Venda,i.vlr_custo) as Valor,
isnull((i.qdade*i.Vlr_venda),(i.Qdade*i.vlr_custo))as VlrTotal,
ISNULL(i.Cod_Cliente,i.Cod_Fornecedor) as Codigo,
i.Data,i.Documento,i.Cod_Empresa,
isnull(c.nome, c.RazaoSocial,f.Nome,f.razaosocial) as ClienteFornecedor
from Movimento_itens i
left join clientes c
on i.Cod_Cliente = c.Codigo
left join Fornecedores f
on i.Cod_Fornecedor = f.Codigo
where i.CodProduto =118 |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
jescudeiro Aprendiz
![Aprendiz Aprendiz](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star2.gif)
Registrado: Segunda-Feira, 2 de Abril de 2012 Mensagens: 261 Localização: ribeirao preto
|
Enviada: Dom Mai 22, 2016 10:21 am Assunto: |
|
|
Bom dia, fui buscando em outros topicos e quase consegui.
O q acontece é q quando tem q mostrar o nome do cliente exibe o codigo.
select i.codproduto,i.Condicao,i.item,i.Qdade,isnull(i.Vlr_Venda,i.vlr_custo) as Valor,
isnull((i.qdade*i.Vlr_venda),(i.Qdade*i.vlr_custo))as VlrTotal,
i.Data,i.Documento,i.Cod_Empresa,
ISNULL(i.Cod_Cliente,i.Cod_Fornecedor) as Codigo,
COALESCE(isnull(cast(i.Cod_Cliente as varchar(65)),f.RazaoSocial),
isnull(cast(i.Cod_Fornecedor as varchar(65)),c.RazaoSocial))
as ClienteFornecedor
from Movimento_itens i
left join clientes c
on i.Cod_Cliente = c.Codigo
left join Fornecedores f
on i.Cod_Fornecedor = f.Codigo
where i.CodProduto =118 |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
jescudeiro Aprendiz
![Aprendiz Aprendiz](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star2.gif)
Registrado: Segunda-Feira, 2 de Abril de 2012 Mensagens: 261 Localização: ribeirao preto
|
Enviada: Dom Mai 22, 2016 11:00 am Assunto: [RESOLVIDO] |
|
|
select i.codproduto,i.Condicao,i.item,i.Qdade,isnull(i.Vlr_Venda,i.vlr_custo) as Valor,
isnull((i.qdade*i.Vlr_venda),(i.Qdade*i.vlr_custo))as VlrTotal,
i.Data,i.Documento,i.Cod_Empresa,
ISNULL(i.Cod_Cliente,i.Cod_Fornecedor) as Codigo,
COALESCE(c.razaosocial,c.nome,f.razaosocial,f.nome) as ClienteFornecedor
from Movimento_itens i
left join clientes c
on i.Cod_Cliente = c.Codigo
left join Fornecedores f
on i.Cod_Fornecedor = f.Codigo
where i.CodProduto =87 |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|