根据同一表中的值从表中获取值

时间:2018-11-06 07:10:36

标签: mysql sql

我有一个SQL查询,该查询返回某些项目的ID,EJ:

SELECT * FROM items WHERE CAT_ID = 1

该查询可以返回1或N个随机值,假设它返回的是“ 1、3、4”。

然后,我必须对同一张表进行第二次查询,但要应用第一个查询返回的值。根据上面的值,第二个查询如下(我在使用WHERE IN):

SELECT * FROM items WHERE CAT_ID IN (1, 3, 4)

我的问题是,有什么方法可以在同一查询中执行此过程吗?谢谢。

3 个答案:

答案 0 :(得分:1)

您可以在下面尝试

SELECT * FROM items WHERE CAT_ID IN (select CAT_ID  from items)

答案 1 :(得分:1)

尝试一下。

SELECT * FROM items WHERE CAT_ID IN (SELECT CAT_ID FROM items WHERE {YOUR WHERE CLAUSE LOGIC})

答案 2 :(得分:0)

您可以使用子查询并加入

select i.* from items i join
 (select CAT_ID from items where --your condition
 ) t
 on i.CAT_ID=t.CAT_ID