Frage : Die späteste Aufzeichnung vom inneren Wesen von dem zu vielen zurückholen Verhältnis

Hallo haben Experten,

I Notwendigkeit etwas Hilfe bei einem SQL problem.
I eine Datenbank, die Informationen über „Anlagegüter“ verwahrt und ihre „Bewegungen“ um das country.
I morgens das Versuchen, meine Anlagegutinformationen und gerade die latest Movement Aufzeichnung zu dieser kompletten Anlagegutinformation des Anlagegutes record.

My zurückzuholen die folgenden Tabellen besteht:

Asset Tabelle:
AssetId
MachineId
Active
WarrantyExpiry
SerialNo

Machine Tabelle:
MachineId
MachineTypeId
MachineModelId
Active

MachineType Tabelle:
MachineTypeId
Description

MachineModel Tabelle:
MachineModelId
Description

I Gebrauch die folgende Aussage, alle „Anlagegut“ Informationen von jenen Tabellen zurückzuholen:

SELECT
Asset.AssetId,
Asset.SerialNo,
MachineType.MachineTypeId,
MachineType.Description ALS TypeDesc,
MachineModel.MachineModelId,
MachineModel.Description ALS ModelDesc
FROM Anlagegut
INNER VERBINDEN Maschine AUF Asset.MachineId = Machine.MachineId
INNER VERBINDEN MachineModel AUF Machine.MachineModelId = MachineModel.MachineModelId
INNER VERBINDEN MachineType AUF Machine.MachineTypeId = MachineType.MachineTypeId
WHERE Asset.Active = 1 " oben genannte

The Aussage produziert Ausgang mit den folgenden Spalten:
AssetId SerialNo MachineTypeId TypeDesc MachineModelId ModelDesc



This ist die „Bewegungs“ Tabelle I möchte dem statement.

Movement Tabelle hinzufügen:
MovementId
MovementTypeId
FaultTypeId
AssetId
StoreId
RepairHours
RepairCost
MovementDate
Notes

As, das Sie sehen können, dass es einen fremden Schlüssel auf der Bewegungstabelle für Speicher (über Storeid) gibt, also muss ich auch die relevante Information von der Speicher table.

Store Tabelle erhalten:
StoreId
Active
StoreNo
StoreName
ModifyDate


So der abschließende Ausgang ist:

AssetId SerialNo MachineTypeId TypeDesc MachineModelId ModelDesc MovementDate StoreName

Just, zum der Sache zu bilden etwas erschwert - wenn es no Bewegung gibt, die ich noch zeigen muss, dass die Asset.

If Sie jede mögliche weitere Information erfordern, oder Erklärung bitte: bitten)

Thanks im Voraus

Antwort : Die späteste Aufzeichnung vom inneren Wesen von dem zu vielen zurückholen Verhältnis


AUSERWÄHLT
Asset.AssetId,
Asset.SerialNo,
MachineType.MachineTypeId,
MachineType.Description ALS TypeDesc,
MachineModel.MachineModelId,
MachineModel.Description ALS ModelDesc,
x.MovementDate, x.StoreName
Vom Anlagegut
INNER Maschine AUF VERBINDEN Asset.MachineId = Machine.MachineId
INNER MachineModel AUF VERBINDEN Machine.MachineModelId = MachineModel.MachineModelId
INNER MachineType AUF VERBINDEN Machine.MachineTypeId = MachineType.MachineTypeId
KREUZ ZUTREFFEN N
(
Max (MovementDate) MovementDate, max (StoreName) StoreName VORWÄHLEN
VON Speicher s
Bewegung m AUF ANSCHLIESSEN s.StoreID = m.StoreID
WO Asset.AssetID = m.AssetID
) x
WO Asset.Active = 1
Weitere Lösungen  
 
programming4us programming4us