gpt4 book ai didi

内部连接中的类似 Mysql 的查询

转载 作者:太空宇宙 更新时间:2023-11-03 11:45:36 25 4
gpt4 key购买 nike

我有一个 mysql 查询,但它返回 0 条记录。我不确定它为什么返回零记录。

这是 MySql 查询。

SELECT a.skills_name 
FROM skills a inner join job b
ON a.skills_name like b.keywords
GROUP BY a.skills_name
ORDER BY a.skills_name ASC limit 15

技能表中的数据是这样的。

skills_id   skills_name
1 It support
2 IT technician
4 sales

Job表中的数据是这样的。

sales, marketing
IT Support, IT Head

请指教。

最佳答案

使用不带占位符 ("%") 的 LIKE 与使用 = 相同。如果 JOIN 条件的伪代码是 b.keywords CONTAINS a.skills_name 那么您需要 b.keywords LIKE coancat('%', a.skills_name, '%')

SELECT a.skills_name 
FROM skills a inner join job b
ON b.keywords LIKE coancat('%', a.skills_name, '%')
GROUP BY a.skills_name
ORDER BY a.skills_name ASC limit 15

正如其他人已经提到的,您可以使用 DISTINCT 关键字而不是 GROUP BY - (SELECT DISTINCT a.skills_name)

您还应该考虑使用规范化架构,而不是在字符串列中存储多个值。在您的情况下,job 表看起来像:

id | keyword
----------------
1 | sales
1 | marketing
2 | IT Support
2 | IT Head

那么您的查询将是:

SELECT DISTINCT a.skills_name 
FROM skills a inner join job b
ON b.keyword = a.skills_name
ORDER BY a.skills_name ASC limit 15

关于内部连接中的类似 Mysql 的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39066296/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com