小编she*_*key的帖子

在多行中使用“IN”?

所以我得到了一个带有一大堆连接的查询,它返回一行,像这样(只是一个例子):

select t1.chickenId, t2.beefId, t3.fishId from Food f
join t1 on t1.id = f.id
join t2 on t2.id = f.id
join t3 on t3.id = f.id
where f = 'something' 
Run Code Online (Sandbox Code Playgroud)

结果是这样的,例如:

chickenId | beefId | fishId
5          58         14
Run Code Online (Sandbox Code Playgroud)

现在我不知道该怎么做的部分......使用上面的查询的原因是因为我想使用结果在另一个表中找到一些东西。

我有另一个名为“Extras”的表,我希望该表中的行具有来自上一个查询的任何列的 ID。因此,如果 id 5、58 或 14 在 Extras 表中,我想要这些行。

以下查询不正确,但我相信它可以用来演示我想要实现的目标:

select * from Extras where extra = 'Potatoes' and foodId in (select t1.chickenId, t2.beefId, t3.fishId from Food f
    join t1 on t1.id = f.id
    join t2 on t2.id = f.id …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 sql-server

3
推荐指数
1
解决办法
94
查看次数

标签 统计

sql-server ×1

sql-server-2008 ×1