Я знакомлюсь с DATEPART и в этом случае часть недели, чтобы получить результаты в неделю и так далее.SQL: использование DATEPART и Inner join
Я получил его для работы с этим следующим запросом.
var querytest = "SELECT DATEPART(wk, date), sum((kg * rep * sett)) as weight,
sum(kg/max * rep * sett) as avg, sum((rep * sett)) as reps
FROM Test WHERE date between @0 and @1 AND exercise < 4 GROUP BY DATEPART(wk, date)";
Однако, что на самом деле не делать все, что я хочу, я не мог бы добавить дату в этот запрос, как он дал мне ошибку. Например: ...sum((rep * sett)) as reps, date FROM
^
дата, как указано выше. Это дало мне ошибки о чем-то с группировкой в конце.
Но я хочу использовать datepart (wk) в следующем запросе, любую идею, как это сделать? (с помощью SQL Server Compact!)
var querythiss = "SELECT DATEPART(wk, date), SUM(kg * rep * sett) as weight, SUM(kg/max * rep * sett) as avg, SUM(rep * sett) as reps, " +
" t.date, pk.peak FROM Test t INNER JOIN (SELECT MAX(kg/max) as peak, date FROM Test WHERE date BETWEEN @0 AND " +
" @1 AND exercise < 4 group by date) as pk on t.date = pk.date WHERE t.date BETWEEN @0 AND @1 AND exercise < 4 GROUP " +
"BY t.date, pk.peak";
Или как это, если это легче читать.
SELECT DATEPART(wk, date),
SUM(kg * rep * sett) as weight,
SUM(kg/max * rep * sett) as avg,
SUM(rep * sett) as reps,
t.date, pk.peak
FROM Test t INNER JOIN
(
SELECT MAX(kg/max) as peak, date
FROM Test
WHERE date BETWEEN @0 AND @1
AND exercise < 4
GROUP BY date
) as pk on t.date = pk.date
WHERE t.date BETWEEN @0 AND @1 AND exercise < 4
GROUP BY t.date, pk.peak
Не могли бы вы добавить сообщение об ошибке? – McNets
В последнем запросе, который хочет получить работу, _what is error_, пожалуйста, разместите всю ошибку, а не смутное воспоминание об этом. –
Синтаксис: необходим псевдоним 'DATEPART (wk, t.date)' в противном случае дата неоднозначна. – Serg