0

我有两个表,Products 和 ProductImages,Products 和 ProductImages 之间存在一对多的关系。我正在尝试对 Products 表进行查询,条件是结果仅包含 ProductImages 表中具有匹配记录的行。

Products
----------
id (PK)

ProductImages
---------------
id (PK)
product_id (FK to Products)

我可以使用它的唯一方法是使用子查询,但肯定有更好/更有效的方法。

4

4 回答 4

2
SELECT p.* FROM Products AS p
INNER JOIN ProductImages AS pi ON p.id = pi.product_id
GROUP BY p.id
于 2012-06-28T06:34:11.893 回答
2

用户join

SELECT * FROM Products INNER JOIN ProductImage  on 
Products.id  = ProductImage.product_id 
于 2012-06-28T06:39:08.827 回答
0
select * from products
where id in (select product_id from ProductImages)
于 2012-06-28T06:37:17.133 回答
0
SELECT Products.* FROM Products
INNER JOIN ProductImages ON Products.id = ProductImages.id
and Products.Id = @ProductID // if required this condition
于 2012-06-28T06:39:31.730 回答