Fórum no inverbase nao funciona e no sql server funciona??? #36668

05/05/2003

0

pq no sql server o script

select * from (select .....)

funciona mas já no interbase não funciona

gostaria de obter uma solução para este problema, se eu nao
conseguir resolver este proble acho que vou mudar de banco

até + galera


Mauricio Goulart

Mauricio Goulart

Responder

Posts

05/05/2003

Andreyrf

No SQl server é assim : select * from (select .....) apelido

Esse apelido pode ser uma letra uma palavra, qualquer coisa. Não testei no interbase.

Se não der certo, é só perguntar novamente, porque gostaria de saber se é assim mesmo.


Responder

Gostei + 0

05/05/2003

Mauricio Goulart

ele da um erro no subselect

. o interbase nao aceita este tipo de subselect

exemplo

select * from (select * from alunos)

aguardo.... até +++++


Responder

Gostei + 0

05/05/2003

Centopocento

Tente assim que dá certo

SELECT * FROM CAD_RETORNO WHERE BNC_SOCIO =
(SELECT COD_BANCO FROM TAB_BANCO WHERE DES_BANCO = ´Bandepe´)

T+


Responder

Gostei + 0

05/05/2003

Braddockcs

Que eu saiba o interbase não aceita no from subselect que retorne mais de um resultado, apenas se ele estiver na cláusula where abaixo vai uma store que eu testei e funcionou

CREATE PROCEDURE DIARIO_GERAL(
DATAFIN DATE,
DATAINI DATE,
ORG_AO INTEGER)
RETURNS (
CONTABIL INTEGER,
CONTA CHAR(10) CHARACTER SET NONE,
TITULAR CHAR(40) CHARACTER SET NONE,
ANTERIOR DOUBLE PRECISION,
CREDITOS DOUBLE PRECISION,
DEBITOS DOUBLE PRECISION,
SALDO DOUBLE PRECISION)
AS
begin
for select conta.contab,
conta.titular ,
conta.conta,
cast(conta.sal_inici + (select sum(movto.credito)-sum(movto.debito) from movto
where movto.codigo = conta.codigo and movto.data <:dataini) as numeric(14,2)),
cast((select sum(movto.credito) from movto
where movto.codigo = conta.codigo and movto.data >=:dataini and
movto.data <=:datafin) as numeric(14,2)),
cast((select sum(movto.debito) from movto
where movto.codigo = conta.codigo and movto.data >=:dataini and
movto.data <=:datafin) as numeric(14,2)),
0
from conta
where conta.banc = ´T´ and conta.orgao = :org_ao
order by conta.contab
into
:contabil, :titular, :conta, :anterior, :creditos, :debitos, :saldo
do
begin
if (:anterior is null) then anterior = 0;
if (:creditos is null) then creditos = 0;
if (:debitos is null) then debitos = 0;
saldo = anterior + creditos - debitos;
suspend;
end
end


Responder

Gostei + 0

29/05/2003

Magno

Pode ser feito também da seguinte maneira

Select * from tabela where campo in (select campo from outra_tabela )

funciona muito bem no IB inclusive pode aplicar os PLAN para agilizar


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar