2017-12-11 20 views
-1

私は4つのテーブルがあります:私はのcompany_idがcompany_id.reseller_matchとreseller.reseller_match = xを一致した製品から*選択する必要がMySQLの複数のテーブルから選択しますか?グループは?

1- resellers [id, name, etc..] 
2- resellers_match [id, reseller_id, company_id] 
3- companies [id, name, etc..] 
4- products [id, name, company_id, etc..] 

を。

私はそれをどのように行うことができません。ありがとうございました。

+0

これは通常の結合です。つかまえてしまった場合は、質問を投稿してください。 –

+0

@juergendはこれが正しいですか? 製品としてのp.name、会社としてのc.name、販売代理店としてのr.name FROM製品p、販売代理店r INNER JOIN企業C ON c.id = p.company_id INNER JOIN再販業者のマッチングrm ON c.company_id = rm .reseller_id ORDER BY p.name; – igtoth

答えて

1
SELECT p.name as Product, c.name as Company, r.name as Reseller 
FROM products p 
INNER JOIN companies c ON c.id = p.company_id 
INNER JOIN resellers_match rm ON c.id = rm.reseller_id 
INNER JOIN reseller r ON rm.reseller_id = r.id 
ORDER BY p.name 
+0

ERROR 1054(42S22): 'on clause'の 'c.company_id'列が不明です – igtoth

+0

修正しました。 'c.company_id'の代わりに' c.id'です。いい加減にして。あなたはそれをあなた自身で見つけることができました。 –

関連する問題