2016-04-18 4 views
0
  1. Ich habe drei Tabellen (asset, Vendor, Stateinfo)Abfrage wählen Daten aus drei Tabellen, wenn eine Tabelle doent einen Fremdschlüssel zu einer Tabelle hat

  2. ich die folgende Abfrage ausführen:

    SELECT t2.TYPE [TYPE], t3.Status [STATUS], t4.COMPANY, T5.STATEID [STATE] 
    
    FROM ASSETINFO t1 
    
    INNER Join TYPEINFO t2 on t1.TYPEID = t2.TYPEID 
    INNER Join STATUSINFO t3 on t1.STATUSID = t3.STATUSID 
    INNER Join VENDORINFO t4 on t1.VENDORID = t4.VENDORID 
    INNER Join VENDORINFO t5 on t1.VENDORID = t5.VENDORID 
    

und die folgenden Ergebnisse zurück:

TYPE: NETWORK FIREWALL | STATUS: ASSIGNED | COMPANY: DELL | STATE: 3 

Ich kann den COMPANY-Namen von TABLE VENDORINFO abrufen, aber ich weiß nicht, wie Sie die STATEID aus der Tabelle STATEINFO durch den Wert in der STATE-Spalte ersetzen?

Three Tables

+0

die Struktur Fügen Sie für die Tabelle TYPEINFO – JohnS

Antwort

0

Ihre zweite Verbindung von vendorInfo ist nicht erforderlich. beitreten Statt in Ihrer Stateinfo Tabelle:

SELECT t2.TYPE [TYPE], t3.Status [STATUS], t4.COMPANY, T5.STATE 

FROM ASSETINFO t1 

INNER Join TYPEINFO t2 on t1.TYPEID = t2.TYPEID 
INNER Join STATUSINFO t3 on t1.STATUSID = t3.STATUSID 
INNER Join VENDORINFO t4 on t1.VENDORID = t4.VENDORID 
INNER Join stateINFO t5 on t4.State = t5.StateId 

Dann bringen Sie nur in State

+0

Der Code hat mir zunächst einen Fehler bei „INNER JOIN Stateinfo t5 auf t4.State = t5 .StateId ". Ich habe "t4.State" in "t4.StateID" geändert und es hat funktioniert! Danke JNevill für deine Lösung. – lmalave

Verwandte Themen