none
sql server RRS feed

  • Pergunta

  •     boa tarde pessoal.

        Bom estou com um probleminha, na verdade um problemão.

        Bom estou desenvolvendo um aplicação de pedido e nesse pedido tenho uma tabela de itens que tem os  campos  NUMERO DO PEDIDO, NUMERO DO ITEM, VALOR, QUANTIDADE.Tambem tenho uma para armazenar os pedido ou seja se eu tenho no pedido numero 1 item numero 2 valor 10000 e quantidade 8, vou fazer um pedido.

        NPedido =1
        NItem    = 2
        Valor      = 10000
        Quantidade = 8

        Bom meu pedido tenho.

        NPedido =1
        NItem    = 2
        Valor      = 8000
        Quantidade = 7

    total valor                      Quantidade
             10000                        8   
             -8000                        7
            ---------                   --------
            2000 restantes      1 restante 


    Estou fazendo assim minha query, ela não está somando item a item  para subtrair que seria o certo minha query está somando tudo e subtraindo todos os itens.

    select

    cd_itenPa as 'fk_itemPA_id',

    itemPa_nome as 'itemPa_nome',

    quantidade - sum(isnull(nm_Quantidade_Itens,0)) as Quantidade ,

    valor - sum(isnull(nm_Valor,0)) as 'PedidoAprovacao_Item_Valor'

    from

    rel_pedidoAprovacao_itemPA PA left join tb_Itens_Aprovados IA

    on PA.fk_pedidoAprovacao_id = IA.cd_Pedido_Aprovacao

    left join tb_itemPa on tb_itemPa.itemPa_id = PA.fk_itemPA_id

    where cd_Pedido_Aprovacao = 78 and cd_itenPa = 1

    group by cd_itenPa,itemPa_nome,Quantidade,Valor ,fk_pedidoAprovacao_id






        
    terça-feira, 17 de março de 2009 18:21

Respostas

  •  Queops,

    Acho que para seu caso vc deve usar Inner Join e não Left Join, outra coisa algo esta errado na sua modelagem dos bancos..

    Pq os itens são separados do Pedido, o número de itens de um pedido não pode ser igual já que as quantidades são diferentes, veja um exemplo abaixo:

        NPedido =1
        NItem    = 1
        Valor      = 8000
        Quantidade = 7

        NPedido =1
        NItem    = 2
        Valor      = 10000
        Quantidade = 8


    Neste exemplo acima eu tenho uma tabela pedido que armazena o numero do pedido e dois itens, vinculados a este pedido, faço um Join entre os dois e peço para somar o valor e quantidade.



    Se não for isso poste novamente, abraço.
    Nelson Borges - Analista de Sistemas
    • Sugerido como Resposta Nelson Borges segunda-feira, 30 de março de 2009 02:46
    • Marcado como Resposta Quéopinho sexta-feira, 26 de junho de 2009 19:06
    domingo, 22 de março de 2009 13:46