2 番目と 3 番目のテーブルの列から、下の最初のテーブルの 2 つの異なる列に結合しようとしています。
users.id を job_listings.id に結合して users.username を返し、job_listings.categories を job_categories.id に結合して区切り、FIND_IN_SET 経由で job_categories.description を返したい
job_listings
id | employer_id | categories
1 | 1 | 1,2
2 | 1 | 2
users
id | username | type
1 | foo | employer
2 | wat | employer
job_categories
id | description
1 | fun
2 | hak
次の形式の出力が必要です。
output
username | type | category | description
foo | employer | 1 | fun
foo | employer | 2 | hak
foo | employer | 2 | hak
次のコードのさまざまな順列を使用してみました。
SELECT users.username, users.type, job_listings.categories FROM users
JOIN job_listings ON users.id
JOIN job_listings AS category ON FIND_IN_SET(category.categories, job_categories.id)
ORDER BY users.username, category.categories
同じテーブルで複数の JOIN 操作を使用するにはエイリアスを使用する必要があることを他の回答から知っていますが、他の回答を適応させたにもかかわらず、エイリアスの宣言に関連するエラーを受け取り続けたり、エイリアスを持つ列を持つ出力を返したりしますが、その列にはデータが返されません。