返回具有来自另一个表的值的列的值

时间:2020-01-29 12:16:20

标签: 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)的UserID表的Orders

结果将是下面的列:

+----------+
| ProductID| 
+----------+
|      1   |  
|      3   | 
|      4   |
+----------+

2 个答案:

答案 0 :(得分:2)

SELECT ProductID FROM Products WHERE ProductID IN (SELECT ProductID from Orders)

答案 1 :(得分:0)

该怎么做:

select distinct productId
from orders;

大概productid在表中是正确的-因此您不必检查是否确实发生匹配。

相关问题