Prblema com sql [resolvido]

10 respostas
surfzera

Pessoal to dentando verifica se a TAXA_ADM foi igual a 2.0 e ta dando pau… dizendo que a tabela TAXA_ADM não existe;

AND “TAXA_ADM” = ‘2.0’

SELECT DISTINCT "PK_MCTTB010", "INSTITUICAO_MCTTB010", "MCTTB009_INSTITUICAO"."NOME_FANTASIA_MCTTB009",
"NOME_FUNDO_MCTTB010", "CATEGORIA_ANBID_MCTTB010", "NOME_MCTTB018", "DATA_INICIO_FUNDO_MCTTB010",
"DATA_FIM_FUNDO_MCTTB010", "CNPJ_MCTTB010", "ABERTO_MCTTB010",
"EXCLUSIVO_MCTTB010", "GESTOR_MCTTB010", "MCTTB009_GESTOR"."NOME_FANTASIA_MCTTB009" AS "NOME_GESTOR",
(SELECT MAX("MCTTB012_TAXA_ADM"."TAXA_ADM_MCTTB012") FROM "MCTTB012_TAXA_ADM" WHERE "FUNDOS_MCTTB012" = "PK_MCTTB010") as "TAXA_ADM",
(SELECT MIN("MCTTB015_MOV_COTA_FUNDOS"."VAL_MIN_INICIAL_MCTTB015") FROM "MCTTB015_MOV_COTA_FUNDOS" WHERE "FUNDOS_MCTTB015" = "PK_MCTTB010") as mininicial,
(SELECT MAX("MCTTB015_MOV_COTA_FUNDOS"."VAL_MIN_ADICIONAL_MCTTB015") FROM "MCTTB015_MOV_COTA_FUNDOS" WHERE "FUNDOS_MCTTB015" = "PK_MCTTB010") as minadicional,
(SELECT MIN("MCTTB011_VALOR_DIARIO"."DATA_MCTTB011") FROM "MCTTB011_VALOR_DIARIO" WHERE "FUNDOS_MCTTB011" = "PK_MCTTB010"),
(SELECT MAX("MCTTB011_VALOR_DIARIO"."DATA_MCTTB011") FROM "MCTTB011_VALOR_DIARIO" WHERE "FUNDOS_MCTTB011" = "PK_MCTTB010")
FROM "MCTTB010_FUNDOS"
INNER JOIN "MCTTB009_INSTITUICAO" ON
"INSTITUICAO_MCTTB010" = "MCTTB009_INSTITUICAO"."PK_MCTTB009"
INNER JOIN "MCTTB018_CATEGORIA_ANBID" ON
"CATEGORIA_ANBID_MCTTB010" = "PK_MCTTB018"
INNER JOIN "MCTTB014_STATUS" ON 
"FUNDOS_MCTTB014" = "PK_MCTTB010"
INNER JOIN "MCTTB009_INSTITUICAO" AS "MCTTB009_GESTOR" ON
"GESTOR_MCTTB010" = "MCTTB009_GESTOR"."PK_MCTTB009"
WHERE "DATA_FIM_FUNDO_MCTTB010" is null AND "TAXA_ADM" = '2.0'

10 Respostas

edmarr

Favor verificar se na tabela “MCTTB010_FUNDOS” , existe o campo “TAXA_ADM”

surfzera

não existe

edmarr

Pronto Ja achou o problema =)

surfzera

apenas no

(SELECT MAX("MCTTB012_TAXA_ADM"."TAXA_ADM_MCTTB012") FROM "MCTTB012_TAXA_ADM" WHERE "FUNDOS_MCTTB012" = "PK_MCTTB010") as "TAXA_ADM",
edmarr

Olha soh vai ficar parecido com isto .

select * from (
	select taxa_adminstrativa as taxa_adm from tabela_admnistrativa
	where tabela_admnistrativa_id = ?
)
where taxa_adm > 2
ctdaa

uau… belo SELECT… o gerenciador deve ficar maluco só para interpretar o código… huahuahua.
Só uma sugestão, não sei se vai resolver…
Já que você só quer a TAXA_ADM com 2.0, então tira o campo da lista e coloca apenas na cláusula WHERE
exemplo:

WHERE "DATA_FIM_FUNDO_MCTTB010" is null AND 
  (SELECT MAX("MCTTB012_TAXA_ADM"."TAXA_ADM_MCTTB012") FROM "MCTTB012_TAXA_ADM" WHERE "FUNDOS_MCTTB012" = "PK_MCTTB010") = '2.0'
surfzera

Funciono! valeu pela ajuda.

edmarr

Depois que seu problema tiver resolvido, vá no primeiro post, editar o Título adicionando a tag [RESOLVIDO] no final do Título .

ctdaa

Legal… sempre quis saber como colocava a tag [RESOLVIDO] no tópico…

surfzera

agora foi RESOLVIDO entao! :slight_smile:

Criado 30 de setembro de 2009
Ultima resposta 30 de set. de 2009
Respostas 10
Participantes 3