2017-07-09 5 views
-3

Ich versuche eine SQL-Anweisung zu erstellen, die Attribut aus verschiedenen Tabellen verbindet, aber ich habe Verwirrung darüber, wie es aufgerufen wird. Ich werde die Tabellen zuerst erklären.SQL-Anweisung, um mehrere Felder aus verschiedenen Tabellen zu verknüpfen?

Table : Machine and MeterReading

erste Tabelle ist in der Maschine mit einer gewissen Maschine Die zweite Tabelle eine Zählerablesung Beschreibung enthalten.

Table : meterReadingMachine and Actual Reading

In dritter Tabelle, ID Spalte der Tabelle von Maschinen und Meterreading wird als Fremdschlüssel verwendet, um die Arten von Zählerständen zur Verfügung Maschinen anzuzeigen. Ein Rechner kann mehrere Zählerstandbeschreibungen haben.

Tabelle 4 verwenden Sie die ID der Tabelle meterreadingMachine und speichern Sie den Messwert für eine bestimmte Maschine und ihre Zählerstandbeschreibung.

Jetzt möchte ich alle Maschinen mit ID (zum Beispiel select * from meterreadingMachine WHERE MachineID = 1) auswählen und listet die tatsächliche reading für alle die Maschine ID = 1 aus Tabelle tatsächlichen lesen.

+0

Sie suchen ein –

+1

JOIN Bitte lesen http://meta.stackoverflow.com/questions/285551/why-may-i-not- upload-images-of-code-auf-so-wenn-eine-frage/285557 und die angenommene antwort –

Antwort

0

Sie werden die ziemlich genial Möglichkeit JOIN genannt:

SELECT M.* 
      ,mR.* 
      ,AR.actualreading 
     FROM Maschine M 
INNER JOIN meterReadingMachine mRM 
     ON mRM.machineid   = M.maschineID 
INNER JOIN meterReading mR 
     ON mR.meterreadingid  = mRM.meterreadingid 
INNER JOIN ActualReading AR 
     ON AR.meterreadingmachineid = mRM.meterreadingmachineid 
    WHERE M.MachineID = 1 
+0

super kumpel, das gibt die perfekte ausgabe. Vielen Dank. – batman

Verwandte Themen