none
dúvidas sobre querys no sql server 2000 RRS feed

  • Pergunta

  • Olá amigos,

     

    Quero tirar uma dúvida e saber se é possivel.

     

    Eu tenho 2 campos, Campos1 e Campo2, quero saber se na consulta existe a possibilidade de saber se algum deles é nulo, quero assumir o campo2 como padrão se ambos forem <> de nulos.

    quinta-feira, 13 de março de 2008 14:55

Respostas

  • Carlos,

     

    Code Snippet
    SELECT
    CASE WHEN Campo1 IS NULL AND Campo2 IS NULL THEN Campo2 ELSE '' END AS Campo
    FROM [Tabela]

     

     

     

    quinta-feira, 13 de março de 2008 16:40
  • Junior, me desculpe mas acho que essa condição não valeria para o que ele está tentando fazer, já que ele quer que o Campo2 seja apresentado somente se os dois valores forem diferente de nulos.

    Acredito que a minha condição seja a mais correta.
    De qualquer forma cabe ao Carlos ver se é esta a real necessidade dele.

    []s.


    quinta-feira, 13 de março de 2008 19:20

Todas as Respostas

  • Boa tarde Carlos,

    Pelo o que eu entedi de seu problema, veja se isso te ajuda:

    Code Snippet

    SELECT
    CASE WHEN NOT Campo1 IS NULL AND NOT Campo2 IS NULL THEN Campo2 ELSE '' END AS Campo
    FROM [Tabela]


    quinta-feira, 13 de março de 2008 16:29
  • Carlos,

     

    Code Snippet
    SELECT
    CASE WHEN Campo1 IS NULL AND Campo2 IS NULL THEN Campo2 ELSE '' END AS Campo
    FROM [Tabela]

     

     

     

    quinta-feira, 13 de março de 2008 16:40
  • Junior, me desculpe mas acho que essa condição não valeria para o que ele está tentando fazer, já que ele quer que o Campo2 seja apresentado somente se os dois valores forem diferente de nulos.

    Acredito que a minha condição seja a mais correta.
    De qualquer forma cabe ao Carlos ver se é esta a real necessidade dele.

    []s.


    quinta-feira, 13 de março de 2008 19:20
  • amigos, muito obrigado, ambas as respostas deram certo.

     

    agora a situação que preciso saber é como juntar 2 querys em uma só, por exemplo quero somar os valores dos pedidos e do faturamento na data de 01/03/2008 a 15/03/2008.

     

    o resultado deve ficar assim:

     

    DATA               PEDIDO            FATURAMENTO         

    01/03/2008       5.000,00                       6.000,00

     

     

     

    Agradeço a colaboração de vocês.

    sexta-feira, 14 de março de 2008 14:02
  • Pelo resultado que você deseja, seria algo + ou -  assim:

    Code Snippet

    SELECT Data, SUM(ValorPed) AS Pedido, SUM(ValorFat) AS Faturamento
    FROM [Tabela]
    WHERE Data >= '03/01/2008' AND Data <= '03/15/2008'
    GROUP BY Data


    Na comparação das datas você pode usar o BETWEEN se achar melhor.

    []s.
    sexta-feira, 14 de março de 2008 15:48
  • Estou fazendo assim e o que ocorre é o seguinte, quando eu faço as consultas separadas por esta data que informei, ele me traz os valores da tabela faturamento, e na de pedidos não tras porque não houve no dia.

     

    agora quando eu junto as querys para trazer num select só, ele não tras nada, tem algum erro de lógica no que eu fiz? o que esta errado.

     

    obrigado,

     

    Code Snippet

    SELECT SUM(FI_VALOR) AS NF_VALOR, SUM(FI_VLIPI) AS NF_VALOR_IPI,
    SUM(C6_VALOR) AS PED_VALOR, SUM(C6_VLIPI) AS PED_VALOR_IPI
    FROM TB_FAT_ITENSNF_001, SC6010
    WHERE
    FI_DTEMISSAONF BETWEEN '20080301' AND '20080301'
    AND C6_DTEMISSAO BETWEEN '20080301' AND '20080301'
    GROUP BY FI_DTEMISSAONF, C6_DTEMISSAO

     

     

     

     

     

    sexta-feira, 14 de março de 2008 16:16