2016-07-30 3 views
0

等しい場合、私は私がSQLFiddle上のデータベースの例を作成した3種類のテーブルSQLクエリを選択し、3つのテーブルから4つのエントリの2つのエントリが

1. Table Business 
ID, Name, fk_Input, fk_Output 

2. Table Input 
Id, FK_Business_id, Name 

3. 
Id, FK_Business_id, Name 

を得ました。

他のBusinessと同じoutput.nameを持つビジネスがInput.nameであり、結果としてビジネス名とRessourceを共有できるようにしていることを確認したいだけです。

だから、例をより良く理解するために

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 

結果は次のようになります。

AdventureA has Power for BusinessB 
CompanyC has Power for BusinessB 

または私は

SELECT DISTINCT Business.Name, Output.Name, Input.Name FROM Business, Input, Output 
WHERE Output.Name = Input.Name 
を試してみましたが、この

BusinessnameOutput, BusinessnameInput, NameInput, NameOutput 

のような他の言葉で無感

と多くの行にでの

しかし、結果はまた、無エントリで

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 

が、結果を試してみました。ほとんど右の結果に

クエリは

SELECT Business.Name, Input.Name, Output.Name FROM Business,Input, Output WHERE Input.Name = Output.Name GROUP BY Input.RessourceName 

だった。しかし、両方businessnamesは、入力と同じ出力を持つWICHのではなく、単に1 BUSINESSNAMEを示しています。

どのように私はそのジレンマを解決することができますか?誰もがアイデアを得た、それは素晴らしいだろう。

を使用でき

答えて

1

インナーは、私はそれがうまくいくと思う参加

select distinct concat(Business.Name, ' has ', Output.Name, ' for ', Business2.name) 
from Business 
inner join Output on Business.fk_Output = Output.id 
inner join Input on Input.name = Output.name 
inner join Business as Business2 on Input.fk_business_id = Business2.id ; 

http://sqlfiddle.com/#!9/de4efa/6

+0

のために参加して、適切な状態。どうもありがとうございました。私は1つのentrieクエリが表示されることはありませんが、私はそこにデータベースに間違いがあると思う。私はあなたのクエリーを新しいサンプルでテストしました。私はデータベースに挿入し、私が望むような結果を表示します。すごくありがとうございました。 :) – Sires

関連する問題