COMO SOMAR DOIS CAMPOS DE UMA TABELA E UM CAMPO DE OUTRA TABELA COM REGISTROS COM VALOR TOTAL MYSQL COM PHP

20/09/2019

0

Boa noite galera!! estou com dificuldades em conseguir o somatório de de dois campos de uma tabela e o somatório de um campo de outra tabela,
segue assim:

Tenho uma tabela chamada CID_TITULAR e outra CID_COMPOSICAO. a tabela CID_TITULAR recebe os cadastro de um programa social e a tabela CID_COMPOSICAO o cadastros dos dependentes (filhos, parentes) TITULAR_COD = COMPOSICAO_COD_TITULAR (chave de ligação)

tenho dois campos na CID_TITULAR de valores, são eles: TITULAR_RENDA e TITULAR_RENDA_MENSAL e na outra tabela CID_COMPOSICAO tenho um campo de valor COMPOSICAO_RENDA

estão povoado assim:
Na tabela CID_TITULAR nos campos TITULAR_RENDA (R$ 10.00) e TITULAR_RENDA_MENSAL (R$ 10.00) e na tabela CID_COMPOSICAO no campo COMPOSICAO_RENDA tenho 3 registros com os valores R$ 300.00, R$ 200.00 e R$ 100.00

GOSTARIA QUE A SELEÇÃO FOSSE O VALOR DOS DOIS CAMPOS DA TABELA CID_TITULAR + O CAMPO DA OUTRA TABELA CID_COMPOSICAO

NO CASO O SOMATÓRIO CORRETO SERIA R$ 620,00
10,00 no campo TITULAR_RENDA
10,00 no campo TITULAR_RENDA_MENSAL
300,00 NO 1º REGISTRO no campo COMPOSICAO_RENDA
200,00 NO 2º REGISTRO no campo COMPOSICAO_RENDA
100,00 NO 3º REGISTRO no campo COMPOSICAO_RENDA

TOTALIZANDO R$ 620,00

O PROBLEMA É:

Quando faço a seleção com inner join a resposta é R$ 660,00 e não 620,00. a seleção triplica o valor da primeira tabela devido ter três registros na tabela CID_COMPOSICAO

TABELA CID_TITULAR

CREATE TABLE `cid_titular` (
`titular_cod` int(11) NOT NULL AUTO_INCREMENT,
`titular_renda` float(10,2) DEFAULT NULL,
`titular_renda_mensal` float(10,2) DEFAULT NULL,
PRIMARY KEY (`titular_cod`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci


TABELA CID_COMPOSICAO

CREATE TABLE `cid_composicao` (
`composicao_cod` int(11) NOT NULL AUTO_INCREMENT,
`composicao_cod_titular` int(11) DEFAULT NULL,
`composicao_renda` float(10,2) DEFAULT NULL,
PRIMARY KEY (`composicao_cod`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci



GOSTARIA MUITO DE AJUDA GALERA. OBRIGADO!!!!
Kleber Justino

Kleber Justino

Responder

Posts

20/09/2019

Joao Nascimento

Posta o select que está usando
Responder

20/09/2019

Kleber Justino

Posta o select que está usando


opa amigo!!

SELECT sum(titular_renda+titular_renda_mensal+composicao_renda) as valor_renda_mensal
FROM cid_titular
inner join cid_composicao on (titular_cod = composicao_cod_titular)
where titular_cod = '1'
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar