none
Erro em Select em DataSet RRS feed

  • Pergunta

  • Tenho o seguinte select:

    SELECT vendas.cod_venda, clientes.nome, parcelas_venda_ordem.valor_parcela FROM vendas LEFT OUTER JOIN clientes ON clientes.cod_cliente = vendas.cod_cliente LEFT OUTER JOIN parcelas_venda_ordem ON parcelas_venda_ordem.cod_venda = vendas.cod_venda WHERE parcelas_venda_ordem.data_pagamento = @data AND parcelas_venda_ordem.status_pagamento = 'Quitado'

    O Select esta em uma tabela dentro de um DataSet, que é usado para preecher um relatório

    Chamo essa pesquisa desta forma:

    try
    {
         this.CaixaEntradaVendaTableAdapter.PesquisaEntradaData(this.rpinformaticaDataSet.CaixaEntradaVenda, Convert.ToDateTime(data));
    }
    catch (System.Exception ex)
    {
         System.Windows.Forms.MessageBox.Show(ex.Message);
    }
    Dá o seguinte erro:

    Isso acontece pq retorna 2 registros com mesma chave primaria, tem como retornar os dois registros mas sem dar esse erro?

    [IMG]http://i42.tinypic.com/33zbgn8.jpg[/IMG]

    quarta-feira, 25 de dezembro de 2013 14:27

Respostas

  • Sim, a venda pode ter uma ou mais parcelas, no caso dá o erro quando retorna 2 parcelas da mesma venda...


    [IMG]http://i42.tinypic.com/33zbgn8.jpg[/IMG]

    Então tente assim:

    Ve se a SQL ta certa eu to querendo trazer os dados pela parcelas_venda_ordem

    SELECT parcelas_venda_ordem.cod_parcela, parcelas_venda_ordem.cod_venda, clientes.nome, 
    parcelas_venda_ordem.valor_parcela 
    FROM vendas 
    LEFT OUTER JOIN clientes ON clientes.cod_cliente = vendas.cod_cliente 
    LEFT OUTER JOIN parcelas_venda_ordem ON parcelas_venda_ordem.cod_venda = vendas.cod_venda 
    WHERE parcelas_venda_ordem.data_pagamento = @data AND parcelas_venda_ordem.status_pagamento = 'Quitado'


    Fulvio Cezar Canducci Dias

    • Marcado como Resposta Rodrigo1810 quinta-feira, 26 de dezembro de 2013 00:37
    quarta-feira, 25 de dezembro de 2013 23:40
  • este funfou, mas no caso a chave primaria deixaria de ser a de venda e ficaria com o codigo da parcela...

    [IMG]http://i42.tinypic.com/33zbgn8.jpg[/IMG]

    Sim Rodrigo para não dar aquele erro é assim que faz viu !!! e na verdade é a SQL correta!

    Fulvio Cezar Canducci Dias

    quinta-feira, 26 de dezembro de 2013 00:05

Todas as Respostas

  • Eu imagino que seja uma venda tem um ou várias parcelas é isso ???

    Teria como mandar essa tabelas para gente analisar ???


    Fulvio Cezar Canducci Dias

    quarta-feira, 25 de dezembro de 2013 23:00
  • Sim, a venda pode ter uma ou mais parcelas, no caso dá o erro quando retorna 2 parcelas da mesma venda...


    [IMG]http://i42.tinypic.com/33zbgn8.jpg[/IMG]

    quarta-feira, 25 de dezembro de 2013 23:36
  • Sim, a venda pode ter uma ou mais parcelas, no caso dá o erro quando retorna 2 parcelas da mesma venda...


    [IMG]http://i42.tinypic.com/33zbgn8.jpg[/IMG]

    Então tente assim:

    Ve se a SQL ta certa eu to querendo trazer os dados pela parcelas_venda_ordem

    SELECT parcelas_venda_ordem.cod_parcela, parcelas_venda_ordem.cod_venda, clientes.nome, 
    parcelas_venda_ordem.valor_parcela 
    FROM vendas 
    LEFT OUTER JOIN clientes ON clientes.cod_cliente = vendas.cod_cliente 
    LEFT OUTER JOIN parcelas_venda_ordem ON parcelas_venda_ordem.cod_venda = vendas.cod_venda 
    WHERE parcelas_venda_ordem.data_pagamento = @data AND parcelas_venda_ordem.status_pagamento = 'Quitado'


    Fulvio Cezar Canducci Dias

    • Marcado como Resposta Rodrigo1810 quinta-feira, 26 de dezembro de 2013 00:37
    quarta-feira, 25 de dezembro de 2013 23:40
  • este funfou, mas no caso a chave primaria deixaria de ser a de venda e ficaria com o codigo da parcela...

    [IMG]http://i42.tinypic.com/33zbgn8.jpg[/IMG]

    quarta-feira, 25 de dezembro de 2013 23:53
  • este funfou, mas no caso a chave primaria deixaria de ser a de venda e ficaria com o codigo da parcela...

    [IMG]http://i42.tinypic.com/33zbgn8.jpg[/IMG]

    Sim Rodrigo para não dar aquele erro é assim que faz viu !!! e na verdade é a SQL correta!

    Fulvio Cezar Canducci Dias

    quinta-feira, 26 de dezembro de 2013 00:05