Montar consulta SQL
19/08/2004
0
O negoço he o seguinte tenho 2 tabelas:
CONTRATO([u:455bc7cbe2]cd_contrato,cd_controle[/u:455bc7cbe2])
PARCELA([u:455bc7cbe2]cd_parcela[/u:455bc7cbe2],cd_contrato,cd_controle,ch_tipo,dt_pagto)
exemplos dos dados:
contrato
cd_contrato --- cd_controle
-------------------------------
1 ------------------ 1
2 ------------------ 1
3 ------------------ 1
4 ------------------ 1
5 ------------------ 1
--------------------------------
parcela
cd_parcela ---- cd_contrato ---- cd_controle - ch_tipo --- dt_pagto
---------------------------------------------------------------------------------
1 ------------------ 1 --------------- 1 ------------- A -------- 19/08/04
2 ------------------ 1 --------------- 1 ------------- S -------- 19/08/04
3 ------------------ 1 --------------- 1 ------------- C -------- null
4 ------------------ 2 --------------- 1 ------------- S -------- 19/08/04
5 ------------------ 2 --------------- 1 ------------- A -------- 19/08/04
6 ------------------ 3 --------------- 1 ------------- S -------- 19/08/04
7 ------------------ 4 --------------- 1 ------------- A -------- 19/08/04
8 ------------------ 5 --------------- 1 ------------- A -------- null
9 ------------------ 5 --------------- 1 ------------- S -------- 19/08/04
---------------------------------------------------------------------------------
he o seguinte no meu programa no delphi tem um form com 3 checkbox:
SELECIONAR CONTRATOS COM AS SEGUINTES PARCELAS PAGAS:
.x. parcela A
.x. parcela S
... parcela C
<CONSULTAR> <FECHAR>
pronto ai he o seguinte
se eu marcar as parcelas A e S a consulta tem que me retornar
o contrato 1 pq tem as parcelas A e S pagas (data <> null)
o contrato 2 pq tem as parcelas A e S pagas
o contrato 3 pq tem a parcela S paga e n tem parcela A para ele
o contrato 4 pq tem a parcela A paga e n tem parcela S para ele
do mermo jeito eu poderia escolher as 3 parcelas ou A e C ou qualquer outra combinação.
estou usando o interbase 1.0.0.326
se algume pude me ajudar com o select pra isso ai eu agradeço :D[/img]
[b:455bc7cbe2]Título editado: ´Pelo amor de deus algume me ajuda a fazer essa consulta SQL[/b:455bc7cbe2]
danielgatis,
Escreva seu título com uma pequena descrição de seu problema. Por favor, leia as [url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=6689]Regras de Conduta[/url].
Sandra/Moderação
CONTRATO([u:455bc7cbe2]cd_contrato,cd_controle[/u:455bc7cbe2])
PARCELA([u:455bc7cbe2]cd_parcela[/u:455bc7cbe2],cd_contrato,cd_controle,ch_tipo,dt_pagto)
exemplos dos dados:
contrato
cd_contrato --- cd_controle
-------------------------------
1 ------------------ 1
2 ------------------ 1
3 ------------------ 1
4 ------------------ 1
5 ------------------ 1
--------------------------------
parcela
cd_parcela ---- cd_contrato ---- cd_controle - ch_tipo --- dt_pagto
---------------------------------------------------------------------------------
1 ------------------ 1 --------------- 1 ------------- A -------- 19/08/04
2 ------------------ 1 --------------- 1 ------------- S -------- 19/08/04
3 ------------------ 1 --------------- 1 ------------- C -------- null
4 ------------------ 2 --------------- 1 ------------- S -------- 19/08/04
5 ------------------ 2 --------------- 1 ------------- A -------- 19/08/04
6 ------------------ 3 --------------- 1 ------------- S -------- 19/08/04
7 ------------------ 4 --------------- 1 ------------- A -------- 19/08/04
8 ------------------ 5 --------------- 1 ------------- A -------- null
9 ------------------ 5 --------------- 1 ------------- S -------- 19/08/04
---------------------------------------------------------------------------------
he o seguinte no meu programa no delphi tem um form com 3 checkbox:
SELECIONAR CONTRATOS COM AS SEGUINTES PARCELAS PAGAS:
.x. parcela A
.x. parcela S
... parcela C
<CONSULTAR> <FECHAR>
pronto ai he o seguinte
se eu marcar as parcelas A e S a consulta tem que me retornar
o contrato 1 pq tem as parcelas A e S pagas (data <> null)
o contrato 2 pq tem as parcelas A e S pagas
o contrato 3 pq tem a parcela S paga e n tem parcela A para ele
o contrato 4 pq tem a parcela A paga e n tem parcela S para ele
do mermo jeito eu poderia escolher as 3 parcelas ou A e C ou qualquer outra combinação.
estou usando o interbase 1.0.0.326
se algume pude me ajudar com o select pra isso ai eu agradeço :D[/img]
[b:455bc7cbe2]Título editado: ´Pelo amor de deus algume me ajuda a fazer essa consulta SQL[/b:455bc7cbe2]
danielgatis,
Escreva seu título com uma pequena descrição de seu problema. Por favor, leia as [url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=6689]Regras de Conduta[/url].
Sandra/Moderação
Danielgatis
Curtir tópico
+ 0
Responder
Posts
19/08/2004
Paullus
SELECT cd_contrato FROM PARCELA WHERE (((ch_tipo = ´A´) AND (dt_pagto IS NOT NULL)) AND ((ch_tipo = ´S´) AND (dt_pagto IS NOT NULL)))
Esse select aí deve trazer os que têm a parcela A e S pagas. Agora so falta você adicionar os que tem somente um tipo de parcela e esta parcela está paga. Acho que já dá uma ajuda... :roll:
Responder
19/08/2004
Danielgatis
SELECT * FROM CONTRATOS C WHERE C.CD_CONTRATO IN ( SELECT DISTINCT(P.CD_CONTRATO) FROM PARCELA P WHERE C.CD_CONTRATO = P.CD_CONTRATO AND C.CD_CONTROLE = P.CD_CONTROLE AND P.TIPO = ´A´ AND P.DT_PAGTO IS NOT NULL ) AND C.CD_CONTRATO IN ( SELECT DISTINCT(P.CD_CONTRATO) FROM PARCELA P WHERE C.CD_CONTRATO = P.CD_CONTRATO AND C.CD_CONTROLE = P.CD_CONTROLE AND P.TIPO = ´S´ AND P.DT_PAGTO IS NOT NULL )
eu preciso dos dados que estão na tabela de contratos logo eu teria que relacionar as 2 tabelas. a primeira condição é que o contrato tenha as parcelas S e A pagas eu consigo fazer as outras condições n tenho a minima ideia de como fazer ... sera q alguem pode ajudar?
Responder
Clique aqui para fazer login e interagir na Comunidade :)