sql - 返回具有来自另一个表的值的列的值
问题描述
我有以下 2 个示例表:
Orders:
+--------+----------+
| UserID | ProductID|
+--------+----------+
| 1 | 1 |
| 2 | 4 |
| 3 | 3 |
| 4 | 3 |
+--------+----------+
Products:
+----------+-------+
| ProductID| Price |
+----------+-------+
| 1 | A |
| 2 | D |
| 3 | G |
| 4 | J |
+----------+-------+
我想返回表ProductID
中Products
只有 value (或 has UserID
)的Orders
表。
所以结果将是下面的列:
+----------+
| ProductID|
+----------+
| 1 |
| 3 |
| 4 |
+----------+
解决方案
SELECT ProductID FROM Products WHERE ProductID IN (SELECT ProductID from Orders)
推荐阅读
- regex - 正则表达式 - 匹配需要'$',但这也意味着每个新行都会匹配,还有其他解决方案吗?
- python - TensorFlow数据集:地图前洗牌(map_and_batch)?
- sql - DAX - 在 SUMMARIZE 上应用 SUM
- generics - 为什么 impl 不在范围内
- haskell - 如何将函数应用于 Haskell 列表中的每个元素?
- javascript - IF/Else 条件对 addEventListener/removeEventListener 没有影响
- android - 折叠工具栏标题未居中
- javascript - JQuery 解析 XML 数据较慢
- json - 带有异步管道的 Angular 6 模板
- html - 是否可以链接到 HTML 页面的第 n 个字符?