sql - 使用 WHERE x IN (SELECT ...) 选择语句

标签 sql mysql select join

我有两个表:

[ product_to_category
---------------------
product_id
category_id


[ category
---------------------
category_id
parent_id

我需要获取所有 product_id 的 category.parent_id 为“39”。这是我正在尝试的,但是当至少有几百个时它返回空的:

SELECT
product_id
FROM
product_to_category
WHERE
category_id IN (
SELECT parent_id FROM category WHERE parent_id = '39'
)

我在这里尝试做的事情可行吗?

最佳答案

明白了:

SELECT product_id FROM product_to_category INNER JOIN category ON product_to_category.category_id = category.category_id AND category.parent_id = 39

关于sql - 使用 WHERE x IN (SELECT ...) 选择语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1849525/

相关文章:

sql - 列出用户 ID SQL 查询的所有好友

php - 读取文本文件并将内容传输到mysql数据库

C++ select 只检查最后一个客户端套接字

javascript - 使用 javascript 创建下拉 <select><option> 元素

sql - 删除非聚集索引是否会删除 SQL Server 表中的现有全文索引?

MySQL 按名称对表中的列进行计数

sql - Django prefetch_related 与限制

java - 将 Hibernate 中的日期存储为 UTC 时间日期?

mysql - 为什么 MySQL VARCHAR 允许超过最大长度?

MySQL 从子查询中选择顺序