gpt4 book ai didi

mysql - 如何做 mysql join 从 3 个表中获取结果

转载 作者:行者123 更新时间:2023-11-28 23:12:53 24 4
gpt4 key购买 nike

我想从公司类别交叉表中不存在的公司类别表中获取类别 ID 和名称。例如,id 为 3 的公司已经有类别 1 和类别 2,我希望 sql 结果获得类别 3 Company table

Company category

Company category cross

我尝试了以下语句但没有得到预期的结果

SELECT `wp_bmg_company_category`.id, `wp_bmg_company_category`.name 
FROM `wp_bmg_company_category`
INNER JOIN `wp_bmg_company_category_cross`
ON `wp_bmg_company_category`.id != `wp_bmg_company_category_cross`.categoryid

最佳答案

如果我没理解错的话,您搜索的是现在未使用的类别。

  1. 选择所有具有类别 ID 的公司数据(仅返回类别 ID)
  2. 从类别中选择所有数据,其中 category id NOT IN(使用 1. 选择数据)

如果您分别找到每个公司唯一未使用的类别。使用类似这样的东西(ADD company_id 分别搜索每个公司,搜索未使用的类别):

SELECT *
FROM category ca
WHERE category_id NOT IN
(SELECT category_id
FROM category c1
JOIN category_cross cc ON c1.id = cc.category_id
WHERE company_id = 1)

关于mysql - 如何做 mysql join 从 3 个表中获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45138920/

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