我试图为下面表示的数据实现这些关系。
我有一个微型求职板,用户可以在他们的城市和邻近的城市看到工作列表。
用户1发布需要在city3中完成的工作
在此之后;
如何使用关系来完成此数据库模式?
发布于 2019-12-09 04:09:18
应该有一个用户表。(user_id、用户名等)
应该有一张城市餐桌。(city_id、city_name等)
应该有一个ref_user_city表。(ref_id、user_id、city_id等)
应该有一个职务表。工作只能有一个可以完成工作的城市。(job_id,city_id)
用户可以在创建或更新配置文件时选择多个城市。将存储在ref_user_city中。这些城市是用户居住或用户可以提供工作服务的地方。
现在,您可以很容易地找到哪个用户可以在特定的城市中完成这项工作。
Select user_id from ref_user_city where city_id = 1;现在,可以为city_id 1工作的用户可以从user表中获取这些用户的数据。
假设您想要为user_id = 1找到工作,用户1住在城市1&可以在城市2、3和4提供工作服务。
Select job_id from job where city_id in (1,2,3,4);发布于 2019-12-09 05:48:31
@Kemal
您必须按照以下方式创建数据库结构。
当user2登录并访问职务列表页面时,您可以通过以下查询获得作业
SELECT j.title,j.city_id FROM jobs as j LEFT JOIN ref_city_neighbor as rcn ON rcn.neighbor_city_id = j.city_id WHERE j.city_id = :user2_city_id Or rcn.main_city_id = :user2_city_id通过上面的查询,您将得到user2生活在城市中的职位公告,以及user2所在的邻居城市作业。
希望我的回答对你有帮助。
谢谢。
https://dba.stackexchange.com/questions/255037
复制相似问题