Проблема со вставкой из одной таблицы в другую! - PullRequest
0 голосов
/ 09 июня 2011
    StringBuilder insertCommand = new StringBuilder();

    insertCommand.Append("DECLARE @TopicsId int; INSERT INTO Topics(Theme,Topics,Date)");
    insertCommand.Append("VALUES(@topic,@subTopic,GETDATE())");
    insertCommand.Append("SET @TopicsId = SCOPE_IDENTITY()");

    insertCommand.Append("INSERT INTO Threads(UsersID,TopicsID,Date,ThreadTitle,ThreadParagraph,ThreadClosed,Views,Replies,PageNumber)");
    insertCommand.Append(" SELECT u.UsersID,@TopicsID,GETDATE(),@questionTitle,@questionParagraph,0,0,0,FLOOR(Count(t.TopicsID)/20)"); // i think the problem is in the u.UserID in this line
    insertCommand.Append(" FROM Threads AS d ");
    insertCommand.Append(" INNER JOIN Topics AS t ON d.TopicsID=t.TopicsID");
    insertCommand.Append(" INNER JOIN Users AS u ON u.UsersID=t.UsersID");

Я хочу вставить из таблицы UsersID UsersID в таблицу Threads.Но возникает исключение, говорящее, что нет такого столбца, называемого UsersID.Я думаю, что он принимает u.UserID в качестве параметра и помещает его в Threads UsersID, потому что у меня есть столбец в Threads с именем usersID.есть ли решение?

Ответы [ 2 ]

0 голосов
/ 10 июня 2011

Вы ошиблись в написании столбца (UsersID vs UserID)?

, если у вас есть прямой доступ к базе данных (т. Е. Через SQL Management Studio), попробуйте выполнить только команду выбора и форматирования SQL должным образом, чтобы он показал вам проблемныйномер строки, например

SELECT 
  u.UsersID,@TopicsID,GETDATE(),@questionTitle,@questionParagraph,0,0,0,FLOOR(Count(t.TopicsID)/20))
FROM 
  Threads AS d
INNER JOIN 
  Topics AS t ON d.TopicsID=t.TopicsID
INNER JOIN 
  Users AS u ON u.UsersID=t.UsersID
0 голосов
/ 09 июня 2011
Insert into threads(....)
Values (blablabla,blablabla)

INSERT требуется ключевое слово VALUES

Я не вижу его в утверждении

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