我有一个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)
我的问题是,有没有办法在同一个查询中执行这个过程?谢谢。
kzmpq1sx1#
试试这个。
SELECT * FROM items WHERE CAT_ID IN (SELECT CAT_ID FROM items WHERE {YOUR WHERE CLAUSE LOGIC})
6rqinv9w2#
可以使用子查询和联接
select i.* from items i join (select CAT_ID from items where --your condition ) t on i.CAT_ID=t.CAT_ID
vu8f3i0k3#
你可以在下面试试
SELECT * FROM items WHERE CAT_ID IN (select CAT_ID from items)
3条答案
按热度按时间kzmpq1sx1#
试试这个。
6rqinv9w2#
可以使用子查询和联接
vu8f3i0k3#
你可以在下面试试