Cuestión : Recuperar el último expediente de la entidad interna de la que está a muchos relación

Hola los expertos, necesidad del

I una cierta ayuda con un SQL problem.
I tienen una base de datos que lleve a cabo la información sobre “activos” y sus “movimientos” alrededor del country.
I el intentar recuperar mi información del activo y apenas el expediente más latest de Movement para esa información completa del activo del activo record.

My se compone de las tablas siguientes: tabla del

Asset: tabla de
AssetId
MachineId
Active
WarrantyExpiry
SerialNo

Machine: tabla de
MachineId
MachineTypeId
MachineModelId
Active

MachineType: tabla del
MachineTypeId
Description

MachineModel de : uso del
MachineModelId
Description

I de
la declaración siguiente de recuperar toda la información del “activo” de esas tablas: el
Asset.AssetId,
Asset.SerialNo,
MachineType.MachineTypeId,
MachineType.Description del

SELECT COMO TypeDesc,
MachineModel.MachineModelId,
MachineModel.Description COMO
INNER del activo del
FROM de ModelDesc ENSAMBLA la máquina EN Asset.MachineId = Machine.MachineId
INNER ENSAMBLA MachineModel EN Machine.MachineModelId = MachineModel.MachineModelId
INNER ENSAMBLA MachineType EN el
WHERE de Machine.MachineTypeId = de MachineType.MachineTypeId Asset.Active = 1 " declaración del

The antedicha produce salida con las columnas siguientes: el
AssetId SerialNo MachineTypeId TypeDesc MachineModelId ModelDesc



This es la Tabla I del “movimiento” quisiera agregar a la tabla de statement.

Movement:
MovementId
MovementTypeId
FaultTypeId
AssetId
StoreId
RepairHours
RepairCost
MovementDate
Notes

As de
que usted puede ver que hay una llave extranjera en la tabla de movimiento para el almacén (vía Storeid) así que también necesito conseguir la información relevante de la tabla del almacén table.

Store:
StoreId
Active
StoreNo
StoreName
ModifyDate


So la salida final será:

AssetId SerialNo MachineTypeId TypeDesc MachineModelId ModelDesc MovementDate StoreName

Just para hacer la cosa levemente complicada - si hay movimiento de no que todavía necesito demostrar que los Asset.

If usted requieran cualquier información más otra o la clarificación pida por favor:)

Thanks por adelantado
class= del

Respuesta : Recuperar el último expediente de la entidad interna de la que está a muchos relación


SELECTO
Asset.AssetId,
Asset.SerialNo,
MachineType.MachineTypeId,
MachineType.Description COMO TypeDesc,
MachineModel.MachineModelId,
MachineModel.Description COMO ModelDesc,
x.MovementDate, x.StoreName
De activo
INTERNO ENSAMBLAR la máquina EN Asset.MachineId = Machine.MachineId
INTERNO ENSAMBLAR MachineModel EN Machine.MachineModelId = MachineModel.MachineModelId
INTERNO ENSAMBLAR MachineType EN Machine.MachineTypeId = MachineType.MachineTypeId
LA CRUZ SE APLICA
(
SELECCIONAR max (MovementDate) MovementDate, max (StoreName) StoreName
Del almacén s
ENSAMBLAR el movimiento m EN s.StoreID = m.StoreID
DONDE Asset.AssetID = m.AssetID
) x
DONDE Asset.Active = 1
Otras soluciones  
 
programming4us programming4us