TSQL Distinct 不起作用
TSQL Distinct does not work
我有以下查询,我尝试使用 DISTINCT 关键字为每个 GLOBAL_CONTENT_ID 保留唯一值。不幸的是我不能让它工作。
SELECT DISTINCT
CD.GLOBAL_CONTENT_ID, CD.DOWNLOAD_ID, PA.PHYSICAL_ASSET_ID
FROM
[CONTENT_DOWNLOAD] CD
INNER JOIN
PHYSICAL_ASSET AS PA ON CD.GLOBAL_CONTENT_ID = PA.GLOBAL_CONTENT_ID
WHERE
CD.UPC = '00600753515501'
ORDER BY
CD.GLOBAL_CONTENT_ID
有什么想法吗?
谢谢
DISTINCT
关键字将确保没有重复的 记录 出现在您的结果集中。但是,如果这些记录中的值组合不同,则不能保证给定列不能在多个记录中具有重复值。
获取不同 GLOBAL_CONTENT_ID
值的一种方法是使用以下查询:
SELECT DISTINCT CD.GLOBAL_CONTENT_ID
FROM [CONTENT_DOWNLOAD] CD
INNER JOIN PHYSICAL_ASSET AS PA ON CD.GLOBAL_CONTENT_ID = PA.GLOBAL_CONTENT_ID
WHERE CD.UPC = '00600753515501'
ORDER BY CD.GLOBAL_CONTENT_ID
DISTINCT
适用于 SELECT
子句中的每一列,而不仅仅是单个列。如果其中一列具有不同的值,则该行被视为不同并作为另一行返回。在您的查询中,您包括 'PHYSICAL_ASSET_ID' ,它对每一行都有不同的值,这就是您获得多行的原因。
我有以下查询,我尝试使用 DISTINCT 关键字为每个 GLOBAL_CONTENT_ID 保留唯一值。不幸的是我不能让它工作。
SELECT DISTINCT
CD.GLOBAL_CONTENT_ID, CD.DOWNLOAD_ID, PA.PHYSICAL_ASSET_ID
FROM
[CONTENT_DOWNLOAD] CD
INNER JOIN
PHYSICAL_ASSET AS PA ON CD.GLOBAL_CONTENT_ID = PA.GLOBAL_CONTENT_ID
WHERE
CD.UPC = '00600753515501'
ORDER BY
CD.GLOBAL_CONTENT_ID
有什么想法吗?
谢谢
DISTINCT
关键字将确保没有重复的 记录 出现在您的结果集中。但是,如果这些记录中的值组合不同,则不能保证给定列不能在多个记录中具有重复值。
获取不同 GLOBAL_CONTENT_ID
值的一种方法是使用以下查询:
SELECT DISTINCT CD.GLOBAL_CONTENT_ID
FROM [CONTENT_DOWNLOAD] CD
INNER JOIN PHYSICAL_ASSET AS PA ON CD.GLOBAL_CONTENT_ID = PA.GLOBAL_CONTENT_ID
WHERE CD.UPC = '00600753515501'
ORDER BY CD.GLOBAL_CONTENT_ID
DISTINCT
适用于 SELECT
子句中的每一列,而不仅仅是单个列。如果其中一列具有不同的值,则该行被视为不同并作为另一行返回。在您的查询中,您包括 'PHYSICAL_ASSET_ID' ,它对每一行都有不同的值,这就是您获得多行的原因。