Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/10/2008, 22:17
ThePlague
 
Fecha de Ingreso: julio-2008
Ubicación: Trujillo
Mensajes: 58
Antigüedad: 15 años, 10 meses
Puntos: 1
Pregunta problema INNER JOIN SQLServer 2005

Buenas, es la primera vez que escribo en el foro de SQLServer, espero puedan ayudarme.
En primer lugar estoy haciendo un DataMart:
Base de Datos: RodelcaImports --->Donde voy a sacar la informacion

Con las siguientes tablas:
Categorias
Clientes
DetallesPedidos
Empleados
Empresa
Pedidos
Productos
Proveedores

Base de Datos: Rodelca_Mart ---> Es la BD del DataMart.

Con las siguientes tablas:
Clientes_Dim
Empleados_Dim
Fact_Table
Pedidos_Dim
Producto_Dim
Tiempo_Dim

Ahora los ID de las tablas en RODELCAIMPORTS son Idnombretabla(ej. IdProducto) y los ID de las tablas en RODELCA_MART son nombretablaKey (ej. ProductoKey)

Ahora quiero hacer esta consulta:

Código:
SELECT
Rodelca_Mart.dbo.Tiempo_Dim.TiempoKey,
Rodelca_Mart.dbo.Clientes_Dim.ClienteKey,
Rodelca_Mart.dbo.Pedidos_Dim.PedidoKey,
Rodelca_Mart.dbo.Empleados_Dim.EmpleadoKey,
Rodelca_Mart.dbo.Producto_Dim.ProductoKey,

RodelcaImports.dbo.Pedidos.FechaPedido,
RodelcaImports.dbo.DetallesPedidos.Cantidad as Cantidad,
RodelcaImports.dbo.DetallesPedidos.PrecioUnidad *
RodelcaImports.dbo.DetallesPedidos.Cantidad as Total

FROM RodelcaImports.dbo.Pedidos
INNER JOIN Rodelca_Mart.dbo.Tiempo_Dim ON RodelcaImports.dbo.Pedidos.FechaPedido = 
Rodelca_Mart.dbo.Tiempo_Dim.Fecha
INNER JOIN Rodelca_Mart.dbo.Clientes_Dim ON RodelcaImports.dbo.Pedidos.IdCliente =
Rodelca_Mart.dbo.Clientes_Dim.IdCliente
INNER JOIN Rodelca_Mart.dbo.Pedidos_Dim ON RodelcaImports.dbo.Pedidos.IdPedido = 
Rodelca_Mart.dbo.Pedidos_Dim.IdPedido
INNER JOIN Rodelca_Mart.dbo.Empleados_Dim ON RodelcaImports.dbo.Pedidos.IdEmpleado =
Rodelca_Mart.dbo.Empleados_Dim.IdEmpleado

INNER JOIN Rodelca_Mart.dbo.Producto_Dim ON RodelcaImports.dbo.DetallesPedidos.IdProducto = 
Rodelca_Mart.dbo.Producto_Dim.IdProducto

INNER JOIN RodelcaImports.dbo.DetallesPedidos ON RodelcaImports.dbo.Pedidos.IdPedido = 
RodelcaImports.dbo.DetallesPedidos.IdPedido 

WHERE (RodelcaImports.dbo.Pedidos.FechaPedido is NOT NULL);
Ahora con ese código me sale este error:
El identificador formado por varias partes "RodelcaImports.dbo.DetallesPedidos.IdProducto " no se pudo enlazar.

Como ven el problema esta en el IdProducto, porque he probado sin el select que pide a ProductoKey y sin el INNER JOIN de Producto y corre bien la consulta.

Ahora las tablas donde están IdProducto en RODELCAIMPORTS son PRODUCTO y DETALLESPEDIDOS ya que están relacionadas, DETALLEPEDIDOS tiene como FK a IdProducto.

La Consulta la estoy ejecuntando en SQLServer2005 en la BD RodelcaImports

Por favor a ver si pueden ayudarme, se los agradecería.