我有一个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)
我的问题是,有什么方法可以在同一查询中执行此过程吗?谢谢。
答案 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