У меня этот SQL-запрос, который работает нормально.
Он возвращает полную вставленную строку.SQL SERVER - Возврат OUTPUT INSERTED. * С JOIN?
INSERT INTO Comments
(
ImageID,
UserId1,
CommentTxt
) OUTPUT INSERTED.*
SELECT 1620,
@userid1,
'abc'
Но мне нужно возвращать присоединилась информация к этой вставленной строке (я также хочу, чтобы пользователь, который комментировал)
Так что я попытался это:
INSERT INTO Comments
(
ImageID,
UserId1,
CommentTxt
)OUTPUT INSERTED.* JOIN Users u ON INSERTED.userid1 = u.UserID
SELECT 1620,
@userid1,
'abc'
Результата :
Msg 156, Level 15, Состояние 1, строка 13 Неправильный синтаксис рядом с ключевым словом «ПРИСОЕДИНЯЙТЕСЬ».
Вопрос:
Можно ли использовать OUTPUT
с JOIN
?
В основном я после: Inserted.*,relevant_user.*
В том же хит.
- NB
Я не хотите получить SCOPE_IDENTITY и повторно выбрать таблицу.
Да, конкретный комментарий может быть написан только 1 пользователем. BTW - спасибо :) –
Не могли бы вы объяснить это? 'ON 1 = 0'? –
Это всегда неверно, поэтому всегда идет 'NOT MATCHED' –