在另一个 SQL 语句中有一个 SQL 语句作为 WHERE 子句?

Having a SQL statement as WHERE clause in another SQL statement?

是否可以使用另一个 SQL 查询作为我在下面尝试的 where 语句?以下查询对我不起作用。我的目标是 select 仅 NOR_LABOR table 中 ID 大于 ALL_LABOR_DETAILS table 中 work_center 中当前最大 ID 的记录] 栏如 %NOR%,

SELECT 
    ID, 
    RTRIM(trx_date), RTRIM(work_order), RTRIM(department), 
    RTRIM(work_center), RTRIM(operation_no), RTRIM(operator), 
    RTRIM(total_labor_hours), RTRIM(feet_produced),
    RTRIM(item_no), RTRIM(lot_no), RTRIM(default_bin), RTRIM(posted) 
FROM 
    NOR_LABOR
WHERE 
    ID IN (SELECT MAX(SOURCE_ID)
           FROM [STLEDGSQL01].[MES_DEV].[dbo].[ALL_LABOR_DETAILS] 
           WHERE work_center LIKE ('%NOR%') AND ID > MAX(SOURCE_ID))
ORDER BY 
    ID

根据我从你的描述中了解到的情况,你几乎已经完成了,你只需要稍微调整一下:

SELECT 
    ID, 
    RTRIM(trx_date), RTRIM(work_order), RTRIM(department), 
    RTRIM(work_center), RTRIM(operation_no), RTRIM(operator), 
    RTRIM(total_labor_hours), RTRIM(feet_produced),
    RTRIM(item_no), RTRIM(lot_no), RTRIM(default_bin), RTRIM(posted) 
FROM 
    NOR_LABOR
WHERE 
    ID > (SELECT MAX(SOURCE_ID)
           FROM [STLEDGSQL01].[MES_DEV].[dbo].[ALL_LABOR_DETAILS] 
           WHERE work_center LIKE ('%NOR%'))
ORDER BY 
    ID