Consulta SI java

9 respostas
progJava

Utilizo uma consulta em um aplicação, porém estou com problemas para adapta-la com o order by.

Consulta.: utilizar o join para trazer dados de uma segunda tabela p/ a primeira
Parametros.: trazer o item de data mais proxima.
estou tentando utilizar o join com o order by desc porém da erro (SQL server - 2008).

Teriam algun exemplo ?

Thanks.

9 Respostas

drsmachado

Como está realizando a consulta (HQL ou Criteria)? Qual o erro, exatamente?

progJava

Erro de Sintaxe

consunta 1 join consulta2 on X=Y where campo a <> 2 order by coluna <------------------- aqui order by da o erro

como eu possi saber qual o tipo de consulta? HQL ou Criteria?

drsmachado

progJava:
Erro de Sintaxe

consunta 1 join consulta2 on X=Y where campo a <> 2 order by coluna <------------------- aqui order by da o erro

como eu possi saber qual o tipo de consulta? HQL ou Criteria?


Você está utilizando JDBC ou algum framework (hibernate. EclipseLink, etc)?

Posta o script da consulta e o stack trace completo, pois não temos como adivinhar. não é mesmo?

progJava

Então estou testando direto no Sql server antes de colocar isso na aplicação efetivamente.
Será que pode ser pelo fato de ser um update e não um select com join ?

UPDATE (TABELA X) consunta 1 join consulta2 on X=Y where campo a <> 2 order by coluna <------------------- aqui order by da o erro

drsmachado

progJava:
Então estou testando direto no Sql server antes de colocar isso na aplicação efetivamente.
Será que pode ser pelo fato de ser um update e não um select com join ?

UPDATE (TABELA X) consunta 1 join consulta2 on X=Y where campo a <> 2 order by coluna <------------------- aqui order by da o erro


Sem a mensagem de erro completa e sem o teu script, não posso fazer nada.

progJava

Consulta Slq.:

update intforn set ident_fis_jur = f.ident_fis_jur ,cod_fis_jur = f.cod_fis_jur from intforn i join forn f on f.cpf_cgc = cnpj and f.valid_fis_jur <= i.data_emissao and f.ident_fis_jur <> '2' and i.cod_fis_jur = '' and i.ident_fis_jur = ''

progJava

Acho que é pelo fato de ter o UPDATE.

Coloquei assim mais da Erro.:

update intforn set ident_fis_jur = f.ident_fis_jur ,cod_fis_jur = f.cod_fis_jur from intforn i join forn f on (f.cpf_cgc = cnpj) where( f.valid_fis_jur <= i.data_emissao and f.ident_fis_jur <> '2' and i.cod_fis_jur = '' and i.ident_fis_jur = '') order by f.valid_fis_jur

drsmachado

Não tem a ver com o update.
O problema é que você está forçando um order by.
Para isso, será preciso que você crie uma subquery.
Pode ter mais informações aqui http://stackoverflow.com/questions/655010/how-to-update-and-order-by-using-ms-sql

progJava

blz vou dar uma olhada vlw.

Criado 16 de dezembro de 2011
Ultima resposta 16 de dez. de 2011
Respostas 9
Participantes 2