CONSULTA SQL

 Tópico anterior Próximo tópico Novo tópico

CONSULTA SQL

SQL / DATABASE

 Compartilhe  Compartilhe  Compartilhe
#497222 - 15/06/2021 12:58:35

SANROMAN
MONGAGUA
Cadast. em:Setembro/2013


Boa tarde

Como posso reunir as consultas abaixo em uma só. As consultas estão funcionando perfeitamente mas visualmente fica feio.

  Private Sub DinheiroEmCx()

        Using con As SqlConnection = conectarSqlServer()

            con.Open()

            Try
                Dim dinheiro As Decimal
                Dim sangria As Decimal
                Dim suplemento As Decimal

                Using strCom1 As SqlCommand = New SqlCommand('SELECT Sum(Valor) as Total ' &
                                                            'FROM TB_SaidaCaixa ' &
                                                            'WHERE NumCaixa = @NumCaixa ' &
                                                            'AND MeioPgto = @MeioPgto ' &
                                                            'AND Terminal = @Terminal', con)

                    strCom1.Parameters.AddWithValue('@NumCaixa', txtNumCaixa.Text)
                    strCom1.Parameters.AddWithValue('@Terminal', SystemInformation.ComputerName)
                    strCom1.Parameters.AddWithValue('@MeioPgto', 'DINHEIRO')

                    Dim dr As SqlDataReader
                    dr = strCom1.ExecuteReader

                    While dr.Read()
                        If Not dr.IsDBNull(0) Then
                            sangria = dr('Total').ToString
                        Else
                            sangria = 0
                        End If
                        sangria = sangria.ToString('N', nfi)
                    End While
                    dr.Close()
                End Using

                Using strCom2 As SqlCommand = New SqlCommand('SELECT Sum(Valor) as Total ' &
                                                            'FROM TB_SuplementoCaixa ' &
                                                            'WHERE NumCaixa = @NumCaixa ' &
                                                            'AND MeioPgto = @MeioPgto ' &
                                                            'AND Terminal = @Terminal', con)

                    strCom2.Parameters.AddWithValue('@NumCaixa', txtNumCaixa.Text)
                    strCom2.Parameters.AddWithValue('@Terminal', SystemInformation.ComputerName)
                    strCom2.Parameters.AddWithValue('@MeioPgto', 'DINHEIRO')

                    Dim dr As SqlDataReader
                    dr = strCom2.ExecuteReader

                    While dr.Read()
                        If Not dr.IsDBNull(0) Then
                            suplemento = dr('Total').ToString
                        Else
                            suplemento = 0
                        End If
                        suplemento = suplemento.ToString('N', nfi)
                    End While
                    dr.Close()
                End Using

                Using strCom As SqlCommand = New SqlCommand('SELECT Sum(Valor) as Total ' &
                                                            'FROM TB_Venda ' &
                                                            'WHERE NumCaixa = @NumCaixa ' &
                                                            'AND MeioPgto = @MeioPgto ' &
                                                            'AND Terminal = @Terminal', con)

                    strCom.Parameters.AddWithValue('@NumCaixa', txtNumCaixa.Text)
                    strCom.Parameters.AddWithValue('@Terminal', SystemInformation.ComputerName)
                    strCom.Parameters.AddWithValue('@MeioPgto', 'DINHEIRO')

                    Dim dr As SqlDataReader
                    dr = strCom.ExecuteReader

                    While dr.Read()
                        If Not dr.IsDBNull(0) Then
                            dinheiro = dr('Total').ToString
                        Else
                            dinheiro = 0
                        End If
                        dinheiro = dinheiro.ToString('N', nfi)
                        txtCompDinCx.Text = (dinheiro + suplemento) - sangria
                    End While

                End Using
            Catch ex As Exception
                MsgBox(ex.ToString)
            End Try

        End Using

    End Sub


Se puderem me ajudar desde já agradeço.

San Roman

[]Por mais distncia que a tecnologia possa encurtar, nada mais prximo do que um abrao.[]
J.Pires


Resposta escolhida #497224 - 15/06/2021 14:11:32

LUIS2014
CURITIBA
Cadast. em:Agosto/2014


  SELECT Sum(TB_SaidaCaixa.Valor) as TotalSangria, Sum(TB_SuplementoCaixa.Valor) as TotalSuprimento, Sum(TB_Venda.Valor) as TotalDinheiro
FROM TB_Venda
    INNER JOIN TB_SuplementoCaixa ON TB_SuplementoCaixa.NumCaixa = TB_Venda.NumCaixa
                                 AND TB_SuplementoCaixa.MeioPgto = TB_Venda.MeioPgto
                                 AND TB_SuplementoCaixa.Terminal = TB_Venda.Terminal
    INNER JOIN TB_SaidaCaixa ON TB_SaidaCaixa.NumCaixa = TB_Venda.NumCaixa
                                 AND TB_SaidaCaixa.MeioPgto = TB_Venda.MeioPgto
                                 AND TB_SaidaCaixa.Terminal = TB_Venda.Terminal
WHERE TB_Venda.NumCaixa = @NumCaixa
AND TB_Venda.MeioPgto = @MeioPgto
AND TB_Venda.Terminal = @Terminal




#497247 - 20/06/2021 15:56:07

SANROMAN
MONGAGUA
Cadast. em:Setembro/2013


OI Luiz
Desculpe a demora em responder.

O código me serviu, muito obrigado.


San Roman

[]Por mais distncia que a tecnologia possa encurtar, nada mais prximo do que um abrao.[]
J.Pires


 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por SANROMAN em 20/06/2021 15:56:28