gpt4 book ai didi

mysql - 在sql server中从子表中获取计数大于0的记录

转载 作者:行者123 更新时间:2023-11-29 21:32:33 25 4
gpt4 key购买 nike

我有一个疑问如下。

select 
*,
(select COUNT(*) from Table2 hv where hv.CompanyID=hc.CompanyID) VacancyCount
from Table1 hc
where
hc.Deleted = 0
order by hc.NameLang1, VacancyCount desc

它总是给我正确的记录。我只想在这里添加一个子句,即仅从 Table1 中选择那些在 Table2 中至少有一条记录的记录。当前它返回在 Table2 中具有 0 条记录的所有记录。

请帮我解决这个问题。

最佳答案

试试这个

SELECT 
*,
(SELECT COUNT(*) FROM Table2 hv WHERE hv.CompanyID=hc.CompanyID) VacancyCount
FROM Table1 hc
WHERE EXISTS (SELECT hv.CompanyID FROM Table2 hv WHERE hv.CompanyID=hc.CompanyID)
AND hc.Deleted = 0
ORDER BY hc.NameLang1, VacancyCount DESC;

有关 EXISTS 的更多信息 http://dev.mysql.com/doc/refman/5.7/en/exists-and-not-exists-subqueries.html

关于mysql - 在sql server中从子表中获取计数大于0的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35145858/

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