此代码
SELECT * FROM MBR_MST WHERE MBR_JOIN_DT=MIN(MBR_JOIN_DT)
显示以下错误:
Msg 147,Level 15,State 1,Line 1 聚合可能不会出现在WHERE子句中,除非它位于包含在a中的子查询中 HAVING子句或选择列表,以及要聚合的列是外部引用。
答案 0 :(得分:6)
看起来您正在尝试使用最小连接日期获取记录。这有两种方法:
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;
答案 1 :(得分:0)
试试这个 -
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)