Como fazer uma instrução SQL com 4 tabelas e mostrar no DBGrid?
05/10/2023
0
Preciso fazer uma instrução SQL,
para mostrar 04 tabelas no DBGrid, a saber:
Tabela Pessoa-> Campos (Id,TipoCadastro e Nome)
O Tipo Cadastro tem 3 opções-> (Fornecedor,Parceiros e Clientes)
Dessa tabela preciso mostrar o Campo Nome cujo TipoCadastro seja = ''Fornecedor'';
Tabela Produto-> Campos (Id,Descricao,Preco).
Dessa Tabela preciso mostrar somente o Campo (Descricao).
Tabela Compra -> Campos (Id, Id_Pessoa, DataEmissao,ValorTotal)
Somente os campos (DataEmissao,ValorTotal)
Tabela CompraItens-> Campos( Id,Id_Compra,Id_Produto,Quantidade,ValorUnitario,ValorTotal)
Somente os campos Quantidade,ValorUnitario e o valorTotal
Podem me ajudar????
Mauricio Bomfim
Posts
06/10/2023
Arthur Heinrich
select f.Nome, c.DataEmissao, c.ValorTotal valor_total_compra, p.Descricao descricao_produto, i.Quantidade, i.ValorUnitario, i.ValorTotal valor_total_item from Pessoa f join Compra c on c.Id_Pessoa = f.Id join CompraItens i on i.Id_Compra = c.Id join Produto p on p.Id = i.Id_Produto where f.TipoCadastro = 'Fornecedor' order by c.DataEmissao, c.id, p.Descricao
15/10/2023
Mauricio Bomfim
procedure TPageCompras.Pesquisar;
var
SQL : String;
FiltroPesquisa : string;
// FiltroTipo : string;
begin
SQL := ('select f.Nome, c.DataEmissao, c.ValorTotal valor_total_compra,'+
'p.Descricao descricao_produto, i.Quantidade, i.ValorUnitario, i.ValorTotal valor_total_item'+
'from Pessoa f join Compra c on c.Id_Pessoa = f.Id join CompraItens i on i.Id_Compra = c.Id' +
'join Produto p on p.Id = i.Id_Produto where f.TipoCadastro = "Fornecedor" ' +
' order by c.DataEmissao, c.id, p.Descricao');
FiltroPesquisa := TUtilitarios.LikeFind(edtPesquisar.Text, DBGrid1);
dmCompras.cdsCompra.Close;
dmCompras.cdsCompra.CommandText := 'Select * from Compra where 1 = 1' + FiltroPesquisa;
dmCompras.cdsCompra.Open;
edtPesquisar.Clear;
inherited;
end;
16/10/2023
Emerson Nascimento
veja se os campos também não estão persistidos na grade (columns).
Clique aqui para fazer login e interagir na Comunidade :)