Buenas pessoal, hoje rapidamente lembrei de algo que muitas vezes é comum mas não é de uso de todos. Fazer SQL com campos de tabelas associadas. Ou a grosso modo, pegar o valor de um campo de outra tabela e mostrar no sql que estamos construindo. No PG, eu tenho sempre uma função que ao passar o ID que esta gravado na tabela principal a tabela secundária, me retorna o valor do campo que desejo. Isto, daria para fazer sem a necessidade de uma função, mas é mais organizado e tu pode aproveitar em outras partes do sistema.
Bom, esta função, recebe o ID da Cidade que esta na tabela de clientes e retorna o nome da cidade
CREATE OR REPLACE FUNCTION "RetornaCidadeNome"(Integer)
RETURNS Varchar AS
$BODY$
Select Cast("NomeCidade" as Varchar)
From "Cliente"
Where "CodigoIDCliente"=$1
$BODY$
LANGUAGE 'sql';
Este é o SQL que mostra os dados dos clientes mais o nome da cidade, do cliente 1 ao 1000
Select "CodigoCliente",
"NomeCliente,
"RetornaCidadeNome"("CodigoIDCidadeCliente") as "XNomeCidade"
From "Cidade"
Where "CodigoCliente" between 1 and 1000;
Detalhes: Aspas duplas, garante que no postgresql o nome da função fique como foi digitada.
Obs: Pessoal, fiz algumas alterações pontuações, das quais, estão em negrito.
Nenhum comentário:
Postar um comentário
Comente sempre por favor.