Array
(
)

Duas tabelas no dbgrid

Rjcerri
   - 24 fev 2006

Estou usando firebird, tenho duas tabelas e queria mostrar um resultado de select com as duas em um dbgrid, tem como fazer isso? :?:


Paullsoftware
   - 24 fev 2006

claro!

use uma Query e faça assim:

#Código

SELECT LOC.CODIGO AS LOCACAO, LOC.locatario, LOC.dataretorno AS RETORNO,
DET.COD_FILME AS FILME,DET.NOME_FILME AS TITULO ,
DET.DEVOLVIDO FROM DETLOCACAO DET
LEFT JOIN LOCACAO LOC ON (DET.LOCACAO=LOC.CODIGO)
WHERE ( LOC.PAGO = ´N´ OR ( LOC.PAGO IS NULL ) ) AND ( DET.DEVOLVIDO =´N´ OR (DET.DEVOLVIDO IS NULL))


aqui seleciono determinados campos de duas tabelas! :wink:


Rjcerri
   - 08 mar 2006

Desculpe amigo mas não entendi a query.


Adriano Santos
   - 08 mar 2006


Citação:
claro!

use uma Query e faça assim:

#Código

SELECT LOC.CODIGO AS LOCACAO, LOC.locatario, LOC.dataretorno AS RETORNO,
DET.COD_FILME AS FILME,DET.NOME_FILME AS TITULO ,
DET.DEVOLVIDO FROM DETLOCACAO DET
LEFT JOIN LOCACAO LOC ON (DET.LOCACAO=LOC.CODIGO)
WHERE ( LOC.PAGO = ´N´ OR ( LOC.PAGO IS NULL ) ) AND ( DET.DEVOLVIDO =´N´ OR (DET.DEVOLVIDO IS NULL))


aqui seleciono determinados campos de duas tabelas! :wink:

Opa, o que o PallSoftware quis dizer é que você pode fazer um Join entre as duas tabelas para então mostrar o resultado no DBGrid. Por exemplo:

#Código

SELECT
TABELA1.CODIGO, TABELA1.ENDERECO, TABELA1.BAIRRO,
TABELA2.NOME, TABELA2.RG, TABELA2.CPF
FROM
TABELA1
INNER JOIN TABELA2
ON (TABELA1.CODIGO = TABELA2.CODIGO_TABELA1
WHERE
//SUA CONDIÇÃO


Veja se ficou mais claro assim, qq coisa é só gritar.



Paullsoftware
   - 08 mar 2006

Nessa query que te passei estou mostrando todas as loções que ainda possuem filmes que não foram devolvidos...

mostre a estrutura das suas duas tabelas que te dou um exemplo melhor de como usar...

Tabela Clientes (CodCli,CliNome, CliEnd...)
Tabela Dependentes(Cod, DepCodCli, DepNome,DepNasc...)

para mostrar todos e suas datas de nascimento seria +/- assim:

#Código

Select C.CodCli, C.CliNome, D.DepNome, D.DepNasc From Dependentes D
//Aqui digo que D=Tabela de Dependentes
//Agora faço a ligação entre as tabelas
Left Join Clientes C on (D.DepCodCli = C.CodCli)
// onde Digo também que C = Tebela de Clientes e que ele me mostre todos os dependentes pertencentes ao cliente atual
// Aqui digo para mostra o cliente de codigo 50
Where CodCli = 50


mais como eu falei, coloque ai a estrutura de suas tabelas dizendo o que vc quer e te dou outro exemplo :roll:


Adriano Santos
   - 08 mar 2006


Citação:
Nessa query que te passei estou mostrando todas as loções que ainda possuem filmes que não foram devolvidos...

mostre a estrutura das suas duas tabelas que te dou um exemplo melhor de como usar...

Tabela Clientes (CodCli,CliNome, CliEnd...)
Tabela Dependentes(Cod, DepCodCli, DepNome,DepNasc...)

para mostrar todos e suas datas de nascimento seria +/- assim:

#Código

Select C.CodCli, C.CliNome, D.DepNome, D.DepNasc From Dependentes D
//Aqui digo que D=Tabela de Dependentes
//Agora faço a ligação entre as tabelas
Left Join Clientes C on (D.DepCodCli = C.CodCli)
// onde Digo também que C = Tebela de Clientes e que ele me mostre todos os dependentes pertencentes ao cliente atual
// Aqui digo para mostra o cliente de codigo 50
Where CodCli = 50


mais como eu falei, coloque ai a estrutura de suas tabelas dizendo o que vc quer e te dou outro exemplo :roll:

É isso ai, fica mais fácil pra gente te ajudar. Não é difícil, muito pelo contrário. :P


Rjcerri
   - 10 mar 2006

Tentei mas não deu certo as tabelas esta assim
tabela padrao
codigo,descricao

tabela prod
codigo,qtd,embalagem

no grid eu estou mostrando a prod

Obrigado


Rjcerri
   - 10 mar 2006

Esqueci que a consulta e pela descrição do produto


Martins
   - 10 mar 2006


Citação:
Tentei mas não deu certo as tabelas esta assim
tabela padrao
codigo,descricao

tabela prod
codigo,qtd,embalagem

no grid eu estou mostrando a prod

Obrigado


Vc pode usar a lógica passada usando Inner Join

#Código


SELECT
P1.CODIGO, P2.DESCRICAO, P1.QTD,
P1. EMBALAGEM FROM
PROD P1
INNER JOIN PADRAO P2
ON (P1.CODIGO = P2.CODIGO)
WHERE
//SUA CONDIÇÃO


Mais ou menos isso, aí vc coloca sua condição Ok!

Boa sorte!!


Rjcerri
   - 10 mar 2006

Deu certo galera, estava dando mole agora consegui entender. obrigado a todos


Martins
   - 10 mar 2006


Citação:
Deu certo galera, estava dando mole agora consegui entender. obrigado a todos


Estamos aqui para aprendermos uns com os outros, ajudar um colega faz parte do nosso aprendizado e fazemos isso sempre que possível.

Valew!!


Henrique Rodrigues
   - 16 out 2012

E na grid, como vincular uma as colunas a uma consulta dinamica?