Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-05-2007
Arim Arim is offline
Registrado
 
Registrado: abr 2007
Posts: 3
Poder: 0
Arim Va por buen camino
Question Utilización de Join en FireBird

Hola a todos.

Estoy incursionando en FireBird y tengo un problemita con la siguiente consulta:

select articulos.articulo_id, articulos.nombre,
articulos.unidad_venta, precios_articulos.precio, exis_arti.Exis, lineas_articulos.nombre, grupos_lineas.nombre
from articulos LEFT JOIN (lineas_articulos LEFT JOIN grupos_lineas ON lineas_articulos.grupo_linea_id=grupos_lineas.grupo_linea_id )
ON articulos.linea_articulo_id =lineas_articulos.linea_articulo_id
LEFT JOIN precios_articulos ON articulos.articulo_id = precios_articulos.articulo_id
left JOIN (SELECT SUM(ENTRADAS_UNIDADES), SUM(SALIDAS_UNIDADES),
SUM(ENTRADAS_COSTO), SUM(SALIDAS_COSTO), saldos_in.articulo_id art_id,
(SUM(ENTRADAS_UNIDADES)-SUM(SALIDAS_UNIDADES)) Exis
FROM SALDOS_IN
GROUP BY saldos_in.articulo_id ) as exis_arti
on articulos.articulo_id= exis_arti.art_id

Lo que pasa aquí es que estoy utilizando una subconsulta y la nombro con con alias como exis_arti y necesito usar los campos de esa consulta en la que la contiene pero me marca este error:

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Invalid command.
COLUMN 1 is specified without a name.

Yo lo he trabajado así en sql server y no hay problema.

Si alguien me pudíera ayudar agradecería mucho por que estoy bien atorada .

Gracias...
Responder Con Cita
  #2  
Antiguo 03-05-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
No me he puesto a analizar la consulta más a fondo .... pero no falta un 'Select' ?

Código SQL [-]
Select articulos.articulo_id, articulos.nombre,
articulos.unidad_venta, precios_articulos.precio, exis_arti.Exis, lineas_articulos.nombre, grupos_lineas.nombre
from articulos
LEFT JOIN (Select ..... from lineas_articulos
    LEFT JOIN grupos_lineas
    ON lineas_articulos.grupo_linea_id = grupos_lineas.grupo_linea_id )
  ON articulos.linea_articulo_id = lineas_articulos.linea_articulo_id
LEFT JOIN precios_articulos
  ON articulos.articulo_id = precios_articulos.articulo_id
left JOIN (SELECT SUM(ENTRADAS_UNIDADES), SUM(SALIDAS_UNIDADES),
SUM(ENTRADAS_COSTO), SUM(SALIDAS_COSTO), saldos_in.articulo_id art_id,
(SUM(ENTRADAS_UNIDADES)-SUM(SALIDAS_UNIDADES)) Exis
FROM SALDOS_IN
GROUP BY saldos_in.articulo_id ) as exis_arti
on articulos.articulo_id= exis_arti.art_id
__________________
Piensa siempre en positivo !
Responder Con Cita
  #3  
Antiguo 03-05-2007
Arim Arim is offline
Registrado
 
Registrado: abr 2007
Posts: 3
Poder: 0
Arim Va por buen camino
No, no le falta el select, toda la consulta funciona bien solo me truena cuando le agrego la consulta de existencias, la exis_arti, al poner un campo de esta marca el error. Hice una vista con la consulta de existencias, pero como esta consulta debe ejecutarse en versiones de la bases de datos tendría que hacer la vista en cada una de ellas. Lo que yo hacia era poner el código de la subconsulta y nombrarla con un alías así no la perdía y podía utilizarla.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Update con Inner Join Funciona en Access pero no en firebird Acanol Firebird e Interbase 7 27-05-2012 01:25:48
usando LEFT JOIN o RIGHT JOIN alcides SQL 8 03-05-2007 17:35:46
Join de tablas de distintas BD´s en firebird Ivanzinho Firebird e Interbase 2 23-01-2006 15:48:16
LEFT OUTER JOIN e INNER JOIN Juntos alcides SQL 3 08-07-2005 18:06:27
Outer join en FireBird HombreSigma Firebird e Interbase 1 04-07-2003 05:25:56


La franja horaria es GMT +2. Ahora son las 23:50:03.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi