SQL在第一列中使用IN并返回第二列

时间:2016-04-01 22:02:12

标签: mysql sql

我有一个名为' account_products'的表,它有一个外键' product_id'还有一个时间戳' created_at'。

我还有一张名为' products'的桌子。我试图返回ID等于相同产品的所有产品' product_id'来自" accout_products'。但我还需要' created_at'来自' account_products',因为我想知道它们何时被创建。

那么有没有办法告诉SQL类似的东西:

SELECT * FROM products
WHERE id IN (
    SELECT product_id, created_at FROM account_products
)

但是IN子句只与product_id有关,还为account_products的每一列返回created_at?

谢谢!

1 个答案:

答案 0 :(得分:2)

使用join

SELECT p.*, ap.created_at
FROM products p JOIN
     account_products ap
     ON ap.product_id = p.id;