Я пытаюсь присоединиться к двум различным столбцам в первой таблице ниже из столбцов во второй и третьей таблицах.MySQL Multiple Join with delimiting через FINDINSET
Я хотел бы присоединиться к users.id job_listings.id вернуться users.username, а также JOIN и разграничить job_listings.categories к job_categories.id вернуть job_categories.description через FIND_IN_SET
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 с той же таблицей, но, несмотря на адаптацию других ответов, я продолжаю получать ошибки, связанные с объявлением псевдонима или возвратом вывода, который имеет столбец с псевдоним, но данные не возвращаются в этом столбце.
Нормализовать ваш дизайн. – Strawberry