Проблема в том, что я пытаюсь вставить некоторые данные в базу данных SQL-сервера, но по какой-то причине я продолжаю получать позорную ошибку «недопустимое имя столбца», и ничто не вставлено в качестве результат.SQL Insert - Msg 207 Недопустимое имя столбца
Теперь, я считаю, что я знаю, ПОЧЕМУ (вроде) это происходит, поскольку я пытаюсь вставить значение, основанное на значении поля в другом столбце, с использованием запроса к случаю, но я не уверен Я действительно делаю это право - видеть коды:
INSERT INTO dbo.table_name(points, discount)
VALUES
(3, CASE WHEN (points = 6) THEN 0.5 WHEN (points = 12) THEN 1.0 ELSE 0 END
Я получаю имя недопустимого столбца в столбце «точки». Это, безусловно, так, я правильно понял, что мой запрос неправильный, или что я должен идти об этом по-другому?
Я использую SQL Server 2008 R2 - не уверен, что это имеет значение.
Где находится '(точки = 6)' и '(точки = 12)' приходит? Какие «точки» вы пытаетесь сделать ссылкой? Я не понимаю, что вы здесь делаете. – Taryn
извините, я думаю, что я, вероятно, немного смутил его ... Я хочу, чтобы значение скидки было равным 0, 0.5 или 1.0 в зависимости от значения поля точек, снова я не уверен, что я поступаю правильно с корпусом ... – ChocolateSheep
Но в вашем примере вы вставляете каждую строку со значением точки '3', поэтому ничто никогда не будет иметь значение' points' '6' или' 12'. Вы пытаетесь сделать обновление? Возможно, вам следует разместить в своей структуре таблицы некоторые примеры данных, а затем желаемый результат вашего запроса. – Taryn