Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Eu preciso criar um select de tabelas diferentes sem join já que não preciso de "relacionamento", chave primária e chave estrangeira, qual seria o modo correto de criar um query com múltiplos selects porque o código abaixo apresenta erro!
comandoSQL.CommandText = "SELECT *, Sum(Pago) As Total_Recebido, Sum(Preco_) As Total_RecebidoContas, Sum(Preco) As Total_PagoContas, Sum(Salario) As Total_PagarSalarios From caixa_cadastrado, contas_receber, contas_pagar, funcionarios_salarios"; **ESTE APRESENTA ERRO NO RESULTADO DAS SOMAS!**
comandoSQL.CommandText = "SELECT(Select *, Sum(Pago) FROM caixa_cadastrado) As Total_RecebidoCaixa(Select*, Sum(Preco_), As From contas_receber) As Total_RecebidoContas(Select*, Sum(Preco) As From contas_pagar) As Total_PagoContas(Select*, Sum(Salario) FROM funcionarios_salarios) As Total_PagarSalarios"; **ESTE DÁ UM ERRO E NÃO ABRE!**É mas me ensinaram que com o Union você precisa ter colunas com nomes iguais ou pelo menos designar colunas com nomes iguais como seria possível usar o Union com colunas diferentes e designar nomes diferentes?
Você quer somar valores de tabelas diferentes , faça um exemplo simples do que seria.
comandoSQL.CommandText = "SELECT Codigo, Descricao, Codigo_Barras, Preco__, Desconto, Pago, Troco, Data_de_Hoje, Sum(Pago) as Total_RecebidoCaixa From caixa_cadastrado Union All Select Codigo, Tipo_Conta, Codigo_Conta, Preco_, Data_de_Hoje, null, null, null, Sum(Preco_) as Total_RecebidoContas from contas_receber Union All Select Codigo, Tipo_Conta, Codigo_Conta, Preco, Data_de_Hoje, null, null, null, Sum(Preco) as Total_PagoContas from Contas_pagar Union All Select Codigo, Nome, Salario, Extra, Dividas, Sobre_Funcionarios, Data_de_Hoje, null, Sum(Salario) as Total_PagarSalarios from funcionarios_salarios";
Confirma para mim o tipo precisa ser o mesmo mas os nomes das colunas não precisa ser o mesmo no caso se for usar o "Union"?
Sim , mas não é só unir , o que se precisa.
Talvez seja o caso de um UNION, pesquise.
Veja também.