sql-server - 有没有一个简单的查询可以解决这个难题?
问题描述
我在这里从事个人项目/开发工作。与starfleet command 一起工作,查询我们的星舰舰队库存。我想查询 Features 表并返回与功能列表匹配的 starshipId 列表。我想出的最好的方法是返回任何一个匹配项的查询。但是,我想为具有查询中列出的所有功能的星舰返回 starshipid。请看图片。
到目前为止我已经尝试过:
select distinct starshipid
from features
where description in ('Teleporation', 'Warp Speed')
我正在寻找一个只会返回 starshipid: 1000 的查询
解决方案
如果您只需要获得那些在 IN 子句中提到的所有描述的 startshipid,那么在 HAVING 子句中使用 count 和 distinct。您的查询将如下所示:
SELECT STARSHIPID
FROM FEATURES
WHERE DESCRIPTION IN ('TELEPORATION', 'WARP SPEED')
GROUP BY STARSHIPID
HAVING COUNT(DISTINCT DESCRIPTION) = 2
推荐阅读
- html - flexbox 中的子级使父级大于应有的大小
- python - mplfinance 图中 bbox_inches='tight' 时的 KeyError
- javascript - 有没有办法检查 javascript/typescript 中的 CSV 上是否存在标头?
- kubernetes - 从 Skaffold 和清单迁移到 DevSpace 和组件图表后,Ingress 无法正常工作
- caching - CacketPHP 3.8 禁用从 tmp/cache 加载资产
- google-analytics - 如何测量事件时间戳 (GA4)
- android - 带有浮动顶栏的脚手架(Jetpack Compose)
- c++ - 最差拟合算法
- rust - 如何将 tera::Error 转换为 actix_web::Error?
- typescript - TypeScript 通用工厂函数基于实例参数返回类型而不重载