none
Procedure com nulls RRS feed

Respostas

  • Magdiel,

    Se você realmente precisa das informações "lado a lado", você tem que fazer um FULL OUTER JOIN entre essas tabelas.

    Algo como:

    select * 
    from @qualidade Q
    FULL JOIN @parprocessos P
    ON (Q.samplePeriod = P.SamplePeriod)

    Isso vai trazer o resultado como você desenhou acima, porém os registros que tiverem exatamente o mesmo tempo irá te trazer na mesma linha... É isso o que você precisa?

    Se não for, você vai ter que fazer um union, especificando as colunas nulas de cada tabela...

    Algo como:

    SELECT samplePeriod, umidadeFiltragem, umidadeTorta, densidade, 'NULL', 'NULL', 'NULL', 'NULL'
    FROM @qualidade 
    UNION ALL
    SELECT 'NULL', 'NULL', 'NULL', 'NULL', samplePeriod, umidadePelota, percentual_pelotas, pencentual_pelotas2
    FROM @parprocessos

    Uma terceira opção, mas que aí não vem ao encontro do teu exemplo, é deixar os registros um abaixo do outro... como os tipos dos dados são iguais, poderia ser o seguinte:

    SELECT samplePeriod, umidadeFiltragem, umidadeTorta, densidade
    FROM @qualidade 
    UNION ALL
    SELECT samplePeriod, umidadePelota, percentual_pelotas, pencentual_pelotas2
    FROM @parprocessos

    Bom, espero ter ajudado... Caso não tenha entendido, por favor, nos dê maiores detalhes.

    []'s!

    quinta-feira, 25 de abril de 2013 14:27

Todas as Respostas

  • Magdiel,

    Se você realmente precisa das informações "lado a lado", você tem que fazer um FULL OUTER JOIN entre essas tabelas.

    Algo como:

    select * 
    from @qualidade Q
    FULL JOIN @parprocessos P
    ON (Q.samplePeriod = P.SamplePeriod)

    Isso vai trazer o resultado como você desenhou acima, porém os registros que tiverem exatamente o mesmo tempo irá te trazer na mesma linha... É isso o que você precisa?

    Se não for, você vai ter que fazer um union, especificando as colunas nulas de cada tabela...

    Algo como:

    SELECT samplePeriod, umidadeFiltragem, umidadeTorta, densidade, 'NULL', 'NULL', 'NULL', 'NULL'
    FROM @qualidade 
    UNION ALL
    SELECT 'NULL', 'NULL', 'NULL', 'NULL', samplePeriod, umidadePelota, percentual_pelotas, pencentual_pelotas2
    FROM @parprocessos

    Uma terceira opção, mas que aí não vem ao encontro do teu exemplo, é deixar os registros um abaixo do outro... como os tipos dos dados são iguais, poderia ser o seguinte:

    SELECT samplePeriod, umidadeFiltragem, umidadeTorta, densidade
    FROM @qualidade 
    UNION ALL
    SELECT samplePeriod, umidadePelota, percentual_pelotas, pencentual_pelotas2
    FROM @parprocessos

    Bom, espero ter ajudado... Caso não tenha entendido, por favor, nos dê maiores detalhes.

    []'s!

    quinta-feira, 25 de abril de 2013 14:27
  • Magdiel,

    Fiz uma bobeira no momento de fazer o script e no crtl+C / ctrl + V deixei o NULL entre as aspas simples.

    Remova as aspas simples dos NULL e tente novamente.

    Qualquer coisa, só falar.

    quinta-feira, 25 de abril de 2013 14:54