应用一个SELECT DISTINCT数据列中的条件,以匹配示例的第二个数据列



我正在处理一组车辆数据,这些数据都在同一个表中,使用以下查询:

SELECT 
a.VIN_NUM AS [Registration VIN]
,DISTINCT STUFF(SUBSTRING(a.VIN_NUM, 1, 10),9,1,'_') AS [VIN STRING] 
FROM
dbo.DMV_All_Tests AS a
WHERE
KeyDateTime between '2017/12/01' and '2018/11/30' AND
INSP_TEST_TYPE = 'B' AND
INSP_ATTEMPT_NUM = '1' AND
EPA_VEHICLE_TYPE = 'HDV' 
ORDER BY
[VIN STRING] DESC

该查询从表中提取车辆VIN(VIN_NUM(及其主要代码标识VIN字符串。例如,1ABCD23EF4G567890变为1ABCD23_F。DISTINCT用于识别表格一年数据集中的每个唯一VIN字符串组合(共有约3万名成员(。

我的目标是举一个VIN编号的例子来匹配每个不同的VIN字符串。查询结果中的每一行都有两列/成员-VIN STRING(1ABCD23_F(,该行的下一列将给出VIN STRING表中的示例VIN_NUM(1ABCD23 EF4G567890(。

我认为这将是一个SELECT TOP ONE,只提取VIN NUM的第一个实例,但我不确定它将如何构建,以提供与每个VIN字符串匹配的VIN NUM标准。它会涉及内部联接吗?

如有任何建议,我们将不胜感激!

SELECT 
Max(a.VIN_NUM) AS [Registration VIN]
, STUFF(SUBSTRING(a.VIN_NUM, 1, 10),9,1,'_') AS [VIN STRING] 
FROM
dbo.DMV_All_Tests AS a
WHERE
KeyDateTime between '2017/12/01' and '2018/11/30' AND
INSP_TEST_TYPE = 'B' AND
INSP_ATTEMPT_NUM = '1' AND
EPA_VEHICLE_TYPE = 'HDV' 
GROUP BY
STUFF(SUBSTRING(a.VIN_NUM, 1, 10),9,1,'_')
ORDER BY
[VIN STRING] DESC

相关内容

最新更新