Jump to content
Sign in to follow this  
carcleo

Dúvida com criação de tabela

Recommended Posts

carcleo

Tenho um campo "mesCompetencia" na tabela de pagamentos onde eu guardo a competência do mês pago por um determinado cliente a um serviço de prestação continuada.

Esse campo guarda apenas o mês e o ano da competência no formato "2015-04". Esse campo esta como char (7).

Mas minha dificuldade é que preciso pesquisar quais competências já foram pagas em um período que vai desde a instalação do serviço e a último competência lançada. Na verdade nem é a ultima competência. Mas a mais atual. Que poderá não ser a ultima lançada (paga).

A tabela é a seguinte:

CREATE TABLE pagamentos (
 idPagamentos INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
 idPlanoClientes INT(10) NOT NULL,
 idAdmins INT(1) NOT NULL,
 mesReferencia CHAR(7) NOT NULL,
 dataPgto DATE NOT NULL,
 valorPgto DOUBLE NOT NULL,
 multa DOUBLE NOT NULL,
 desconto DOUBLE NOT NULL,
 totalPago DOUBLE NOT NULL,
 formaPgto CHAR(2) NOT NULL,
 observacao text,
 PRIMARY KEY (idPagamentos)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

A consulta que estou fazendo é a seguinte:

SELECT idPagamentos FROM pagamentos p, planosclientes pc
WHERE 
      p.idPlanoClientes = 8 AND
      p.mesReferencia BETWEEN pc.dataInstalacao AND NOw()

Mas, NOW() traz um retorno no formato date dd-mm-yy e dataInstalacao também. Mas mesReferencia nem date é.

Estou um pouco sem noção.

O que pode ser feito nesse caso?

Carlos Rocha

Share this post


Link to post
Share on other sites
carcleo

Tentei fazer a consulta abaixo:

SELECT pagamentos.idPagamentos, pagamentos.mesReferencia FROM pagamentos, planosclientes
WHERE
	   pagamentos.idPlanoClientes = planosclientes.idPlanosClientes AND
	   pagamentos.idPlanoClientes = 8 AND
	   pagamentos.mesReferencia BETWEEN DATE_FORMAT(planosclientes.dataInstalacao, '%Y%-%m') AND DATE_FORMAT(CURRENT_DATE(), '%Y%-%m') ;

Essa consulta me retorna todos os lançamentos dentro do período determinado por ***ano-mês***.

1) Dessa forma ela esta excluindo a saída caso alguma saída para mesReferencia coincida com planosclientes.dataInstalacao ou CURRENT_DATE()* Como fazer para incluir os extremos nesta consulta?

2) Outra coisa é que preciso listar, NÃO os valores de competência que estão lançados. Mas SIM os meses de competência que faltam para preencher todos os meses daquele intervalo.

Grato a quem puder ajudar!

Carlos Rocha

Edited by carcleo

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.