我想知道是否可以写一个嵌套的选择陈述?
我有以下计算预订时间:
SELECT description, SUM(ts.booked_time) AS booked_time_total,
CONVERT(VARCHAR(11), @testDate, 106) AS month_name, @week_ref AS week_ref
FROM timesheets ts
WHERE @testDate <= convert(datetime, end_dtm, 120) and
dateadd(wk, 1, @testDate) > convert(datetime, start_dtm, 120)
但是预订的时间似乎是错误的。 SUM不应该计算start_dtm和end_dtm内每一行的总和。因此,如果我在预订时间内有10行1,那么SUM将为10。
测试数据:
答案 0 :(得分:4)
SUM
计算字段的总值,而COUNT
是记录总数。
SELECT description,
COUNT(ts.booked_time) AS booked_time_total,
CONVERT(VARCHAR(11), @testDate, 106) AS month_name,
@week_ref AS week_ref
FROM timesheets ts
WHERE @testDate <= convert(datetime, end_dtm, 120) and
dateadd(wk, 1, @testDate) > convert(datetime, start_dtm, 120)
答案 1 :(得分:3)
我认为您希望使用COUNT而不是SUM。