Re: [firebase-br] Firebirdnão esta legal nao ! :-(

Carlos H. Cantu (TeamFB) listas em warmboot.com.br
Qua Jul 27 16:48:50 -03 2005


Seu select é inválido para o FB. O IB aceita esse tipo de select, mas
fornece resultados não confiáveis. Para mais informações sobre isso,
veja no release notes do Firebird.

[]s
Cantu (Membro do TeamFB - FireBase)
http://www.warmboot.com.br
FireBase - http://www.FireBase.com.br

G> Vc pode mandar a estrutura da view para a gente dar uma olhada ?

G> ----- Original Message ----- 
G> From: "Gugui" <suporte-informatica em emar.com.br>
G> To: "listaFirebase" <lista em firebase.com.br>
G> Sent: Wednesday, July 27, 2005 2:45 PM
G> Subject: [firebase-br] Firebirdnão esta legal nao ! :-(


G> Poxa, quando eu usava o IB criei uma view !
G> depois migrei pro FB e agora preciso alterar essa view e ele dá um erro:

G> A view no FB esta rodando, mas nao consigo alterá-la ! como pode isso ???
G> o q pode estar errado ?

G> ** IBPP::Exception inside Statement::Prepare ***

G> IBPP Message : isc_dsql_prepare failed.

G> SQL Message : -104
G> Invalid token

G> Engine Code    : 335544569Engine Message :
G> Dynamic SQL Error
G> SQL error code = -104
G> Cannot use an aggregate function in a GROUP BY clause


G> DROP VIEW ABERTURA_CLIENTE;
G> CREATE VIEW ABERTURA_CLIENTE (IDCLIENTE, IDVENDEDOR, IDSITUACAO,
G> IDCIDADE, CLIENTE, CONTATO, TELEFONE, SIGLA, MUNICIPIO, REPRESENTANTE,
G> SITUACAO, T_PEDIDOS, P_COMPRA, U_COMPRA, MEDIA_DIAS, DIAS_Q_N_COMPRA, AI)
G> AS
G> select c.idcliente, p.idvendedor, c.idsituacao, c.idcidade1,
G> c.razao_social,
G> c.contato1, c.telefone, c.sigla1, m.municipio, r.razao_social,
G> s.descricao,(select count(p.idpedido) from pedido p where p.idcliente =
G> c.idcliente group by c.idcliente),
G> (select min(cast(p.data as date)) from pedido p where p.idcliente =
G> c.idcliente group by c.idcliente),
G> (select max(cast(p.data as date)) from pedido p where p.idcliente =
G> c.idcliente group by c.idcliente),
G> ((select max(cast(p.data as date)) from pedido p where p.idcliente =
G> c.idcliente group by c.idcliente) -
G> (select min(cast(p.data as date)) from pedido p where p.idcliente =
G> c.idcliente group by c.idcliente))/
G> (select count(p.idpedido) from pedido p where p.idcliente = c.idcliente
G> group by c.idcliente),
G> (select (cast('now' as date) - max(cast(p.data as date))) from pedido p
G> where p.idcliente = c.idcliente group by c.idcliente),
G> C.AI
G> from cliente c, pedido p, VENDEDOR R, SITUACAO S, CIDADE M
G> WHERE  p.idpedido in
G> (select min(p.idpedido)
G> from pedido p where p.idcliente = c.idcliente)
G> and p.idcliente = c.idcliente
G> and C.IDSITUACAO = S.IDSITUACAO
G> AND p.IDVENDEDOR = R.IDVENDEDOR
G> AND C.IDCIDADE1 = M.IDCIDADE

G> grato qq ajuda !






Mais detalhes sobre a lista de discussão lista