Estou tentando fazer uma subconsulta no postgresql mas apresentando erro , como sou iniciante poderia me ajudar por favor
select(CAST(C.banco AS VARCHAR(5)) || CAST(C.agencia AS VARCHAR(5)) || CAST(C.conta AS VARCHAR(5))) from public.t_contas c
where c.banco = select c.banco from public.t_contas as A2_BANCO
where c.banco = select c.banco from public.t_contas as A2_BANCO
Patrícia Pereira
Curtidas 0
Respostas
Emerson Nascimento
05/07/2019
Os campos banco, agencia e conta são de que tipo?
Aquele condição no where é totalmente desnecessária,além de não fazer sentido, porque você está utilizando como filtro da subselect o conteúdo de um campo da própria tabela que está sendo listada.
tente algo assim, se os campos NÃO forem caractere (char, varchar, nchar, nvarchar, etc):
select CAST(c.banco AS VARCHAR(5)) || CAST(c.agencia AS VARCHAR(5)) || CAST(c.conta AS VARCHAR(5))
from public.t_contas c
se os campos já forem caractere, não precisa do CAST:
select (c.banco || c.agencia || c.conta) conta
from public.t_contas c
se há risco de algum campo estar nulo (conteúdo NULL), você precisa atribuir um valor, senão a concatenação falha:
select (coalesce(c.banco,'') || coalesce(c.agencia,'') || coalesce(c.conta,'')) conta
from public.t_contas c
para ter uma resposta mais precisa, publique a estrutura da tua tabela.
Aquele condição no where é totalmente desnecessária,além de não fazer sentido, porque você está utilizando como filtro da subselect o conteúdo de um campo da própria tabela que está sendo listada.
tente algo assim, se os campos NÃO forem caractere (char, varchar, nchar, nvarchar, etc):
select CAST(c.banco AS VARCHAR(5)) || CAST(c.agencia AS VARCHAR(5)) || CAST(c.conta AS VARCHAR(5))
from public.t_contas c
se os campos já forem caractere, não precisa do CAST:
select (c.banco || c.agencia || c.conta) conta
from public.t_contas c
se há risco de algum campo estar nulo (conteúdo NULL), você precisa atribuir um valor, senão a concatenação falha:
select (coalesce(c.banco,'') || coalesce(c.agencia,'') || coalesce(c.conta,'')) conta
from public.t_contas c
para ter uma resposta mais precisa, publique a estrutura da tua tabela.
GOSTEI 0
Jair N.
05/07/2019
Boa Tarde, tu deveria indicar o erro que a princípio acredito que sua cláusula "WHERE". Não entendi o do "porquê" se relacionar com a mesma tabela para se filtrar o banco? No teu caso, olha só o atributo "banco" código né, deverá se repetir nesta entidade "public.t_contas", a tabela está te retornando vários para o relacionamento "=" veja a instrução alternativa "IN". Mas mesmo assim dá para entender esta sua "sub consulta". Qual o objetivo?
Atc
Atc
GOSTEI 0