1
My problem is that I need to list values from two different tables, and I’m using a filter to add conditions in the query. For example:
if(!empty($mes_especifico)) {
$sql .= "AND YEAR(d.data_pagamento) = :ano AND MONTH(d.data_pagamento) = :mes ";
$insertData[":ano"] = $ano;
$insertData[":mes"] = $mes;
}
I wanted to know how to merge in the same query and list the tables and sort by the number of installments.
Tables: https://pastebin.com/rexcXTKw
Separated:
SELECT FORMAT(r.valor_receita,2,'de_DE') AS valor_receita,
DATE_FORMAT(r.data_vencimento, '%d/%m/%Y') AS data_vencimento,
r.recebido,
DATE_FORMAT(r.data_recebimento, '%d/%m/%Y') AS data_recebimento,
r.tipo_repeticao,
r.parcelas,
r.numero_parcela,
r.recorrente,
r.observacoes,
tr.tipo_receita,
re.tipo_recebimento
FROM receitas AS r
INNER JOIN tipo_receita AS tr ON r.id_tipo_receita = tr.id_tipo_receita
INNER JOIN tipo_recebimento AS re ON r.id_tipo_recebimento = re.id_tipo_recebimento
WHERE r.id_usuario = 1;
SELECT FORMAT(d.valor_despesa,2,'de_DE') AS valor_despesa,
DATE_FORMAT(d.data_vencimento, '%d/%m/%Y') AS data_vencimento,
d.pago,
DATE_FORMAT(d.data_pagamento, '%d/%m/%Y') AS data_pagamento,
d.importante,
d.tipo_repeticao,
d.parcelas,
d.numero_parcela,
d.recorrente,
d.observacoes,
td.tipo_despesa,
c.nome_categoria,
tp.tipo_pagamento
FROM despesas AS d
INNER JOIN tipo_despesa AS td ON d.id_tipo_despesa = td.id_tipo_despesa
INNER JOIN tipo_pagamento AS tp ON d.id_tipo_pagamento = tp.id_tipo_pagamento
INNER JOIN categorias AS c ON td.id_categoria = c.id_categoria
WHERE d.id_usuario = 1;
in its code Pastebin.com/rexcXTKw , the column
tipo_despesa
is the typevarchar
, and in the expenditure table,id_tipo_despesa
isINT
, toFK
won’t work– Rovann Linhalis
In the table_type there are the columns id_typ_expense and_typeexpense. One is INT and another VARCHAR
– Eduardo Henrique
I tried to put your code in Sqlfiddle, and it was an error, possibly because the name of a column is equal to the name of a table
– Rovann Linhalis