2016-06-24 10 views
-3

問題はテーブルの連絡先に連絡先を4社にリンクすることです と私は連絡先がリンクされているすべての会社を表示したいと思います。SQLクエリで複数の内部結合を取得する方法

select contact.Contact_id, 
     contact.Firstname, 
     contact.Abbreviation, 
     company.Company, 
     company.Company, 
     company.Company, 
     company.Company, 
     contact.Sector, 
     contact.Available 
FROM contact 
INNER JOIN company 
    ON contact.Company_id1=company.Company_id 
    WHERE available =1 
    ORDER BY Firstname ASC 
+2

MySqlと同じように、追加の内部結合を追加することになります。 –

+1

phpタグが引き続き追加されるのはなぜですか?これはPHPとは何の関係もありません。 –

+0

「4社にリンクできる」という言葉があります。これは、内部結合の代わりに外部結合を使用する必要があることを示します。だから、社外から社外に4回参加することになります(エイリアス化された会社、company2、company3、company4など)。テーブル構造が役立つだろう。 –

答えて

2

方法:これは私がこれまで持っているものである は、第一の内側は細かい作品に参加するが、私は、内側の3以上が参加追加したいが、私は私の経験は、MySQL であるため、SQLサーバーでこれを行う方法を知りません約

select <columns> 
from contact as ct 
join company as cy1 on cy1.company_id = ct.company_id1 
join company as cy2 on cy2.company_id = ct.company_id2 
join company as cy3 on cy3.company_id = ct.company_id2 
join company as cy4 on cy4.company_id = ct.company_id4 
+0

私は、連絡先が会社に属していない場合や、全員と全員の間に何らかの異変がない場合のために、個人的にこれらの左結合を作成します。 –

+1

はい、良い方法があります。私は彼に何ができるかについてのアイデアを与えたいだけです。 – Gabriel

+0

@ GabrielBSMそれは私のテーブルの結果として最後の行を取得するだけですこのメソッドを使用して扱われている問題は、ish問題です:[リンク](http://imgur.com/a/XlygG) –

関連する問題