34,837
社区成员




SELECT HoleID, HoleName,
(SELECT COUNT(SegTo - SegFrom) FROM SegInfo
WHERE holeid = a.holeid )
AS Expr1,
(SELECT top 1 waterRate
FROM SegInfo
WHERE holeid = a.holeid )
AS Expr2
FROM HoleInfo a
学习,帮顶
-- 2005 / APPLY
SELECT a.HoleID, a.HoleName, Expr1.* FROM HoleInfo a OUTER APPLY
(
SELECT COUNT(SegTo - SegFrom)cn, max(waterRate)waterRate
FROM SegInfo
WHERE holeid = a.holeid
)
AS Expr1
-- 2000
select a.HoleID, a.HoleName, b.* from HoleInfo a
left join
(
SELECT COUNT(SegTo - SegFrom)cn, max(waterRate)waterRate
FROM SegInfo
group by holeid
) b
on a.holeid=b.holeid
最好给出完整的表结构,测试数据,计算方法和正确结果.否则耽搁的是你宝贵的时间。
SELECT HoleID, HoleName,
(SELECT COUNT(SegTo - SegFrom) FROM SegInfo
WHERE holeid = a.holeid )
AS Expr1,
(SELECT waterRate
FROM SegInfo
WHERE holeid = a.holeid )
AS Expr2
FROM HoleInfo a
SELECT HoleID, HoleName,
(SELECT COUNT(SegTo - SegFrom) ,waterRate
FROM SegInfo
WHERE holeid = a.holeid group by waterRate
)
AS Expr1
FROM HoleInfo a
SELECT HoleID, HoleName, COUNT(SegTo - SegFrom) ,waterRate
FROM HoleInfo,SegInfo WHERE holeid = a.holeid group by HoleID, HoleName, waterRate
??
--或者把两个拼接起来返回
SELECT HoleID, HoleName,
(SELECT CAST(COUNT(SegTo - SegFrom) AS VARCHAR)+','+CAST(waterRate AS VARCHAR)
FROM SegInfo
WHERE holeid = a.holeid )
AS Expr1
FROM HoleInfo a
SELECT HoleID, HoleName,
(SELECT COUNT(SegTo - SegFrom) FROM SegInfo WHERE holeid = a.holeid ) AS Expr1,
(SELECT waterRate FROM SegInfo WHERE holeid = a.holeid ) AS Expr2
FROM HoleInfo a