我有这个 SQL 查询(我正在使用 Access):
SELECT
[tbl - User List].*,
[lnk - UserStatusList].[Employee Status],
[tbl - App por region].[region]
FROM
(
-- Left Joining User List with Excepciones on Unique ID
[tbl - User List]
LEFT JOIN [lnk - Excepciones] ON [tbl - User List].[Unique ID] = TRIM([lnk - Excepciones].[Unique ID])
)
LEFT JOIN [lnk - UserStatusList] ON [tbl - User List].[Unique ID] = [lnk - UserStatusList].[Unique ID SAP HR]
LEFT JOIN [tbl - App por region] ON [tbl - user list].[resource] = [tbl - App por region].[app]
WHERE
(
[lnk - Excepciones].[Unique ID] Is Null
AND [tbl - User List].[Resource status] NOT LIKE "Deregistered"
AND (
([tbl - User List].Resource) NOT LIKE "FOPAG"
AND ([tbl - User List].Resource) NOT LIKE "*_QA"
AND ([tbl - User List].Resource) NOT LIKE "*_DEV"
AND ([tbl - User List].Resource) NOT LIKE "ADGroup*"
)
)
ORDER BY [tbl - User List].[resource];
它工作正常,返回类似这样的内容(大约有 147.000 行用户):
问候 我希望查询像这样工作:
我尝试使用 ChatGPT 来做到这一点,但没有成功。
根据其他记录中的数据过滤记录并不简单,通常需要相关子查询或VBA函数。
这些状态值将按其优先顺序按字母顺序排序。考虑这个使用发布的示例查询结果作为源的查询:
SELECT *
FROM Query1 WHERE [HR Status] IN(
SELECT TOP 1 [HR Status] FROM Query1 AS Dupe
WHERE Dupe.[Unique ID]=Query1.[Unique ID]
AND Dupe.Resource=Query1.Resource ORDER BY [HR Status]);