2017-09-19 2 views
-1

Ich habe eine Datenbank mit diesem Schema:SQL-Auswahl aus verschiedenen Tabellen

  1. Projekt

    ProjectId ProjName Costs PStart PFinish 
    Project(ProjectID, Integer, PKEY) 
    
  2. Workpacket

    WorkpacketID WorkpacketName WStart WFinish 
    Workpacket (WorkpacketID,Integer,PKEY) 
    Workpacket got a FKEY ond ProjectID 
    
  3. Mitarbeiter

    EmployeeID EmployeeName EmployeSalary 
    Employee (EmployeeID, Integer, PKEY) 
    Employee got a FKEY on ProjectID and WorkpacketID 
    

Jetzt möchte ich wählen Sie eine ProjectID und erhalten die folgenden Informationen: Projektname, WorkpacketID, WorkpacketName, wstart.

Select Project.ProjectID, Project.ProjectName, Workpacket.WorkpacketID, 
     Workpacket.WorkpacketName, Workpacket.WStart 
from Project, Workpacket 
where Project.ProjectID = 1; 

Ist das korrekt? Ich verstehe nicht, wie man Joins hier benutzt und ob Joins notwendig sind, um FKEY zu erzeugen.

+0

Welche SQL-Datenbank e Benutzt du? – STLDeveloper

+0

Ich habe gute Dinge über das Buch gehört, Teach Yourself SQL in 10 Minuten. –

+0

Oracle SQL Developer –

Antwort

0

Um Tabellen beitreten zu können, muss ich einen Schlüssel angeben, auf dessen Grundlage die Joins durchgeführt werden.

In Ihrem Projekt Tabelle, projectID Schlüssel ist

in workpacked workpacketId ist der Schlüssel

in Mitarbeiter Mitarbeiter-ID-Schlüssel ist

aber es gibt keinen Schlüssel jeder Tabelle, die Verbindung zwischen diesen drei Tabellen zeigt

Projekttabelle sollte WorkpackedID und und Workpacked sollte employeeId haben, um eine Verknüpfung durchzuführen

+0

Daten, von denen er nur will ersten 2 Tabellen und es hat einen PK und Fk, warum brauchen Sie hier den dritten Tisch –

Verwandte Themen