Функция SQL Count внутри команды вставки - PullRequest
0 голосов
/ 07 июня 2011

Я хочу установить значение одного из полей с числом, полученным из функции подсчета.Но как мне это сделать?

    StringBuilder insertCommand = new StringBuilder();
 insertCommand.Append("INSERT INTO Threads(UsersID,TopicsID,Date,ThreadTitle,ThreadParagraph,ThreadClosed,Views,Replies,PageNumber)");
    insertCommand.Append("VALUES(@uniqueIdentifier,@TopicsID,GETDATE(),@questionTitle,@questionParagraph,0,0,0,@pageNumber)");

Чтобы установить параметр номера страницы, я хочу сделать что-то вроде этого:

    sqlCommand.Parameters.Add("@subTopic", SqlDbType.Int);
    sqlCommand.Parameters["@subTopic"].Value = "Count(ThreadID)/20";

Я хочу ввести число, которое делится на 20в поле PageNumber в таблице Threads.Примечание: число должно быть целым числом .. поэтому вместо возврата 10/20 = 0,5 оно должно вернуть 0.

1 Ответ

1 голос
/ 07 июня 2011

Вы можете использовать запрос вставки, например так:

INSERT INTO Threads (UsersID,TopicsID,Date,ThreadTitle,ThreadParagraph,
  ThreadClosed,Views,Replies,PageNumber)
SELECT @uniqueIdentifier,@TopicsID,GETDATE(),@questionTitle,
  @questionParagraph,0,0,0,FLOOR(Count(ThreadID)/20)
FROM table

Предполагая, что имя параметра subtopic было опечаткой, и вы действительно имели в виду pagenumber. Вы никогда не знаете, хотя!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...