none
Problema com SQL e UNION RRS feed

  • Pergunta

  • Bom dia, preciso de uma ajuda com um SELECT:

    SELECT * FROM (
       SELECT 'P' As Tp, 
       [Código do Cupom], 
       Seqüência, 
       Produtos.[Código do Produto], 
       [Código do Tamanho], 
       Quantidade, 
       [Valor Unitário], 
       [Sigla da Unidade] AS Uni, 
       Produtos.[Código da Classificação], 
       [Código da Classificação].[Classificação Fiscal], 
       [Classificação Fiscal].aliqNac 
       FROM ([Cupom Ítens] INNER JOIN Produtos ON [Cupom Ítens].[Código do Produto] = Produtos.[Código do Produto]) LEFT JOIN Unidades ON Produtos.[Código da Unidade] = Unidades.[Código da Unidade] WHERE Produtos.[Código da Classificação] = [Código da Classificação].[Classificação Fiscal] AND [Código do Cupom] = 1000 
    UNION 
       SELECT 'S', 
       [Código do Cupom], 
       Seqüência, 
       [Código do Serviço], 
       0, 
       [Quantidade Serviço], 
       [Valor Unitário], 
       0, 
       0, 
       0, 
       0 
       FROM [Cupom Serviços] WHERE [Código do Cupom] = 1000)
    ORDER BY Seqüência, Tp

    Agradeço desde já!


    Dalto Blanco - Ciência da computação

    terça-feira, 11 de junho de 2013 13:20

Respostas

  • Meu amigo, esse SQL não estava sendo executado, mas acabei de fazer umas mudanças e ele funcionou, estou fazendo testes nele, mas ficou assim:

    SELECT * FROM (
       SELECT 'P' As Tp, 
       [Código do Cupom], 
       Seqüência, 
       Produtos.[Código do Produto], 
       [Código do Tamanho], 
       Quantidade, 
       [Valor Unitário], 
       [Sigla da Unidade] AS Uni, 
       Produtos.[Código da Classificação], 
       [Classificação Fiscal].[Código da Classificação], 
       [Classificação Fiscal].aliqNac 
       FROM (([Cupom Ítens] INNER JOIN Produtos ON [Cupom Ítens].[Código do Produto] = Produtos.[Código do Produto]) LEFT JOIN Unidades ON Produtos.[Código da Unidade] = Unidades.[Código da Unidade]) INNER JOIN [Classificação Fiscal] ON Produtos.[Código da Classificação] = [Classificação Fiscal].[Código da Classificação] WHERE [Código do Cupom] = 1000 
    UNION 
       SELECT 'S', 
       [Código do Cupom], 
       Seqüência, 
       [Código do Serviço], 
       0,
       [Quantidade Serviço], 
       [Valor Unitário], 
       null, 
       null, 
       null,
       null
       FROM [Cupom Serviços] WHERE [Código do Cupom] = 1000)
    ORDER BY Seqüência, Tp

    Posto aqui o resultado se estiver OK!

    Muito obrigado


    Dalto Blanco - Ciência da computação

    terça-feira, 11 de junho de 2013 13:40

Todas as Respostas

  • Dalto, qual seria a duvida ? o seu select não esta funcionando ? para funcionar com o Union o datatype dos campos dos 2 selects tem que ser iguais...

    Alexandre Matayosi Conde Mauricio.

    terça-feira, 11 de junho de 2013 13:32
  • Meu amigo, esse SQL não estava sendo executado, mas acabei de fazer umas mudanças e ele funcionou, estou fazendo testes nele, mas ficou assim:

    SELECT * FROM (
       SELECT 'P' As Tp, 
       [Código do Cupom], 
       Seqüência, 
       Produtos.[Código do Produto], 
       [Código do Tamanho], 
       Quantidade, 
       [Valor Unitário], 
       [Sigla da Unidade] AS Uni, 
       Produtos.[Código da Classificação], 
       [Classificação Fiscal].[Código da Classificação], 
       [Classificação Fiscal].aliqNac 
       FROM (([Cupom Ítens] INNER JOIN Produtos ON [Cupom Ítens].[Código do Produto] = Produtos.[Código do Produto]) LEFT JOIN Unidades ON Produtos.[Código da Unidade] = Unidades.[Código da Unidade]) INNER JOIN [Classificação Fiscal] ON Produtos.[Código da Classificação] = [Classificação Fiscal].[Código da Classificação] WHERE [Código do Cupom] = 1000 
    UNION 
       SELECT 'S', 
       [Código do Cupom], 
       Seqüência, 
       [Código do Serviço], 
       0,
       [Quantidade Serviço], 
       [Valor Unitário], 
       null, 
       null, 
       null,
       null
       FROM [Cupom Serviços] WHERE [Código do Cupom] = 1000)
    ORDER BY Seqüência, Tp

    Posto aqui o resultado se estiver OK!

    Muito obrigado


    Dalto Blanco - Ciência da computação

    terça-feira, 11 de junho de 2013 13:40