I 3 bekam verschiedene TabellenSQL Query Wählen Sie vier Einträge aus drei Tabellen, wenn zwei Einträge sind gleich
1. Table Business
ID, Name, fk_Input, fk_Output
2. Table Input
Id, FK_Business_id, Name
3.
Id, FK_Business_id, Name
ich eine Datenbank Beispiel auf SQLFiddle erstellt.
Jetzt möchte nur überprüfen, welche Business hat die gleiche output.name wie ein anderes Business hat als Input.name und als Ergebnis sowohl Business-Namen und welche Ressource kann geteilt werden.
So ein Beispiel für ein besseres Verständnis sollten
1. Table Business
ID, Name, fk_Input, fk_Output
1, AdventureA, 1,1
2, BuinsnessB, 2,2
3, CompanyC, 3,3
2.Table Input
Id, FK_Business_id, Name
1, 1(AdventureA),coal
2, 1(AdventureA),Air
3, 2(BusinessB) ,Cooper
4, 2(BusinessB) ,Power
5, 3(CompanyC) ,Wood
3.Table Output
Id, FK_Business_id, Name
1, 1(AdventureA), Power
2, 2(BusinessB) , Cooperbar
3, 3(CompanyC) , Power
Ergebnis sein:
AdventureA has Power for BusinessB
CompanyC has Power for BusinessB
oder mit anderen Worten, wie dieser
BusinessnameOutput, BusinessnameInput, NameInput, NameOutput
I
SELECT DISTINCT Business.Name, Output.Name, Input.Name FROM Business, Input, Output
WHERE Output.Name = Input.Name
versucht haben,
Aber führt zu viele Zeilen ohne Sinn
auch versucht
SELECT Business.Name, Input.Name, Output.Name
FROM Unternehmen
INNER JOIN Input ON Input.FK_Business_id, = Business.ID
INNER JOIN Output ON Output.FK_Business_id = Business.ID
WHERE Input.Name = Output.Name
aber ergibt keine Einträge.
Abfrage mit fast dem richtigen Ergebnis war
SELECT Business.Name, Input.Name, Output.Name FROM Business,Input, Output WHERE Input.Name = Output.Name GROUP BY Input.RessourceName
Aber es zeigt nur einen Businessnamen statt beiden businessnames weichen die gleiche Ausgabe wie ein Eingang hat.
Keine Ahnung, wie ich dieses Dilemma lösen kann? Jeder hat eine Idee, das wäre großartig.
Ich denke, das funktioniert. Vielen Dank. Ich habe eine entre Abfrage nicht zeigen, aber ich denke, es wäre ein Fehler in der Datenbank. Ich habe deine Frage mit einem neuen Beispiel getestet, das ich in die Datenbank einfüge, und es zeigt das Ergebnis, wie ich es möchte. Danke, das ist großartig. :) – Sires