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

6qqygrtg  于 2021-06-18  发布在  Mysql
关注(0)|答案(3)|浏览(278)

我有一个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)

我的问题是,有没有办法在同一个查询中执行这个过程?谢谢。

kzmpq1sx

kzmpq1sx1#

试试这个。

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

6rqinv9w2#

可以使用子查询和联接

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

vu8f3i0k3#

你可以在下面试试

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

相关问题