sql - 如何在 SQL 中选择具有所有 id 的记录?
问题描述
我想要选择具有所有 id 的记录。
例子:
姓名 | ID |
---|---|
内存 | 3 |
阿杰 | 1 |
莫干山 | 3 |
内存 | 1 |
内存 | 2 |
这里 Ram 有所有的 id (1,2,3)。所以,我想要结果为 Ram。
解决方案
WITH CTE(NAME,CODE)AS
(
SELECT 'RAM',1 UNION ALL
SELECT'AJAY',3 UNION ALL
SELECT 'MOGAN',2 UNION ALL
SELECT 'KUMAR',3 UNION ALL
SELECT 'RAM',2 UNION ALL
SELECT 'JAYA',1 UNION ALL
SELECT 'KABIL',3 UNION ALL
SELECT 'RAM',3
)
SELECT C.NAME
FROM CTE AS C
GROUP BY C.NAME
HAVING COUNT(DISTINCT C.CODE)=(SELECT COUNT(DISTINCT CODE) FROM CTE )
据我所知,这叫做“关系划分”。您可以尝试我的查询或寻找其他可能的解决方案
推荐阅读
- java - 使用 crashlytics-2.10.1 从 Google 控制台获取 ANR 报告
- ionic4 - Ionic 4. 如何在超级标签中刷新或更新页面
- javafx - JavaFX 旋转屏幕 180°
- php - 如果用户未登录,我如何重定向到登录页面
- php - 我可以对多个表使用单个 CodeIgniter 模型吗?
- powerbi - 使用 DAX 在参数超过 Power BI 中的阈值时递增值
- reactjs - 组件挂载时 Ref.current 未定义,当我需要它时它不会导致重新渲染
- ios - SwiftUI:过渡不会滑动
- angular - providedIn any 和 root 有什么区别
- php - laravel 中的身份验证和保护(保护路由)