将MySQL查询转换为SQL Server(MSSQL/SQLSRV)(WiTH DISTINCT)

Wil*_*oro 3 mysql sql-server

如何将此查询转换为在SQL Server中工作,我需要做什么?

SELECT 
    DISTINCT(map_objetivos.OBJ_RowID) AS test,
    map_objetivos.OBJ_Objetivo
FROM 
    map_admin_caminho_critico_indicadores
INNER JOIN 
    map_admin_caminho_critico ON CCR_RowID = CCI_CaminhoDR
INNER JOIN 
    map_indicadores ON IND_RowID = CCI_IndicadorDR 
INNER JOIN
    map_objetivos ON OBJ_RowID = IND_ObjetivoDR
GROUP BY
    map_objetivos.OBJ_RowID
Run Code Online (Sandbox Code Playgroud)

JNK*_*JNK 5

与MySQL不同,SQL Server不允许在选择列表中使用未聚合或分组的字段.而且,你DISTINCT是多余的.试试这个:

SELECT 
    map_objetivos.OBJ_RowID AS test,
    map_objetivos.OBJ_Objetivo
FROM 
    map_admin_caminho_critico_indicadores
INNER JOIN 
    map_admin_caminho_critico ON CCR_RowID = CCI_CaminhoDR
INNER JOIN 
    map_indicadores ON IND_RowID = CCI_IndicadorDR 
INNER JOIN
    map_objetivos ON OBJ_RowID = IND_ObjetivoDR
GROUP BY
    map_objetivos.OBJ_RowID,
    map_objetivos.OBJ_Objetivo
Run Code Online (Sandbox Code Playgroud)