【发布时间】:2014-05-10 07:08:24
【问题描述】:
在 SQL Server 数据库中,我有两个表,一个是另一个的父表。子表与父表具有多对一的关系。我只需要为每个父级返回一条记录,其中包含最对应的子表记录。但是我无法弄清楚如何做到这一点。
以下是我现在的查询:
SELECT DISTINCT
products.id,
sku,
name,
mediaid
FROM
products
INNER JOIN
productmedia ON products.id = productmedia.productid
WHERE
sku IN ('HCFL 207 23 (A)','HCFL 207 22 (A)','HCFL 207 21 (A)','HCFL 207 20 (A)')
AND productmedia.sort = 100
我得到以下信息:
183816 HCFL 207 20 (A) HCFL SERIES- 2-BOLT FLANGE, ECCENTRIC LOCKING COLLAR, BORE DIA. 1 1/4", WIDE INNER RACE INSERT -ASIAN 2929082
183816 HCFL 207 20 (A) HCFL SERIES- 2-BOLT FLANGE, ECCENTRIC LOCKING COLLAR, BORE DIA. 1 1/4", WIDE INNER RACE INSERT -ASIAN 2929083
183817 HCFL 207 21 (A) HCFL SERIES-2-BOLT FLANGE, ECCENTRIC LOCKING COLLAR, BORE DIA. 1 5/16", WIDE INNER RACE INSERT-ASIAN 2929138
183817 HCFL 207 21 (A) HCFL SERIES-2-BOLT FLANGE, ECCENTRIC LOCKING COLLAR, BORE DIA. 1 5/16", WIDE INNER RACE INSERT-ASIAN 2929139
183818 HCFL 207 22 (A) HCFL SERIES- 2-BOLT FLANGE, ECCENTRIC LOCKING COLLAR, BORE DIA. 1 3/8", WIDE INNER RACE INSERT -ASIAN 2929086
183818 HCFL 207 22 (A) HCFL SERIES- 2-BOLT FLANGE, ECCENTRIC LOCKING COLLAR, BORE DIA. 1 3/8", WIDE INNER RACE INSERT -ASIAN 2929087
183819 HCFL 207 23 (A) HCFL SERIES- 2-BOLT FLANGE, ECCENTRIC LOCKING COLLAR, BORE DIA. 1 7/16", WIDE INNER RACE INSERT -ASIAN 2929084
183819 HCFL 207 23 (A) HCFL SERIES- 2-BOLT FLANGE, ECCENTRIC LOCKING COLLAR, BORE DIA. 1 7/16", WIDE INNER RACE INSERT -ASIAN 2929085
【问题讨论】:
-
topmost child 的定义是什么,你使用哪个 RDBMS?
-
展示父子表的表结构...
-
您使用哪个数据库服务器(和版本)?不同的数据库引擎可能有不同的解决方案。
-
请显示预期输出
-
这是 SQL 数据库版本 2008 R2
标签: sql select join sql-server-2008-r2 distinct