sql - 如何删除左连接查询结果中的重复项
问题描述
看看这些表:
餐桌招聘:
表技能_招聘:
我想展示与招聘相关的技能。如您所见,表skill_hirings
中有 3 条记录hiring_id = 3
。所以当我使用左连接查询时,它会返回 3 条相同的记录。
所以我想删除重复记录,只返回唯一记录id_hiring
。
我读了一些 StackOverflow QnA,他们建议使用该GROUP BY
子句,但我仍然无法弄清楚。
查询:
SELECT id_hiring, company_id, title, status, start_salary, end_salary,
viewer, open, close, expired
FROM (
SELECT h.id id_hiring, * FROM hirings h
LEFT JOIN skill_hirings sh ON sh.hiring_id = h.id
LEFT JOIN skills s ON s.id = sh.skill_id
WHERE title ILIKE '%'
) RESULT
查询和结果:
注意:查询中的通配符%
将替换为变量
解决方案
在撰写此答案时,对于哪些字段来自哪些表,我们仍然一无所知。根据当前的解释,尚不清楚为什么以下内容不能满足您的需求(尽管它可能根本无法运行,具体取决于任何必填字段是否真正来自skill_hirings
或skills table
我没有包括在内)。
SELECT
h.id as id_hiring,
h.company_id,
h.title,
h.status,
h.start_salary,
h.end_salary,
h.viewer,
h.open,
h.close,
h.expired
FROM
hirings h
WHERE
h.title ILIKE '%'
推荐阅读
- sql - SQL 填充缺失周的数据
- r - 如何通过局域网连接从机器 A 到机器 B 访问 Rshiny 应用程序?
- c++ - 检查我的代码,我认为它很复杂。请提供建议以使其简单
- slim - 如何在 Slim 框架中获取上传的文件大小?
- python - 使用 readlines() 方法打开 python 文件
- angular - 即使在使用 -ng build --base-href # --prod --source-map=false --build-optimizer --aot 时,以 prod 模式构建的 Ng 也会生成供应商文件和 .Map 文件
- python - 删除嵌套字典中的键值对并找到键值的总和
- ios - 在 SwiftNIO 中添加多个通道管道处理程序,类似于 Java Netty
- c# - 如何在 UWP 中应用自定义字体图标形状
- iis - 如何在本地网络上使用带有友好名称的 iis