这段代码
SELECT * FROM MBR_MST WHERE MBR_JOIN_DT=MIN(MBR_JOIN_DT)
显示以下错误:
消息 147,级别 15,状态 1,第 1 行聚合可能不会出现在 WHERE 子句中,除非它位于 HAVING 子句或选择列表中包含的子查询中,并且正在聚合的列是外部引用。
这段代码
SELECT * FROM MBR_MST WHERE MBR_JOIN_DT=MIN(MBR_JOIN_DT)
显示以下错误:
消息 147,级别 15,状态 1,第 1 行聚合可能不会出现在 WHERE 子句中,除非它位于 HAVING 子句或选择列表中包含的子查询中,并且正在聚合的列是外部引用。
看起来您正在尝试获取具有最短加入日期的记录。这里有两种方法:
SELECT *
FROM MBR_MST
WHERE MBR_JOIN_DT = (select MIN(MBR_JOIN_DT) from MBR_MST);
SELECT TOP 1 *
FROM MBR_MST
ORDER BY MBR_JOIN_DT;
试试这个——
SELECT m.*
FROM dbo.MBR_MST m
CROSS JOIN (
SELECT min_value = MIN(MBR_JOIN_DT)
FROM dbo.MBR_MST
) t
WHERE MBR_JOIN_DT = min_value
SELECT *
FROM dbo.MBR_MST m
WHERE MBR_JOIN_DT = (SELECT MIN(MBR_JOIN_DT) FROM dbo.MBR_MST)