SQL返回不带单词的不同值

时间:2019-02-11 15:16:18

标签: sql sql-server

我的SQL查询返回不同的值。 这是查询:

select * 
from Products 
where [Product_ID] in (select Product_Id f 
                       from MyCart 
                       where User_Id = '5570928b-7a1b-4652-9c6b-592e76a70a07')

第二个选择查询返回(7,7,3),而第一个选择查询仅返回一个7和3的信息。

我想是因为7是重复的,但是我需要结果包含第二选择中所有产品的信息,无论它们是否重复。

1 个答案:

答案 0 :(得分:6)

在这种情况下,请使用JOIN

select p.*
from Products p join
     MyCart c
     on p.Product_Id = c.Product_Id
where c.User_Id = '5570928b-7a1b-4652-9c6b-592e76a70a07';

通常,重复项是不可取的,这就是为什么使用EXISTSIN的原因。