0 голосов
спросил от в категории SQL
Я не знаком с форматом '$ {state.Objektiv}' - это не то, как переменные используются в MSSQL. См.
declare @tblFoto table (Bildnr int) -- You won't need this bit if you already have your table declare @state_Objektiv varchar(255) = 'Fahrzeugdatenträger' declare @Bildnummer int set  @Bildnummer = (SELECT  CASE @state_Objektiv     WHEN 'vorne rechts' THEN 2     WHEN 'vorne links' THEN 3     WHEN 'hinten rechts' THEN 4     WHEN 'hinten links' THEN 5     WHEN 'Innenraum' THEN 6     WHEN 'Navigationsgerät' THEN 7     WHEN 'Kombiinstrument' THEN 8          WHEN 'Fahrzeugdatenträger' THEN 9          WHEN 'Servicenachweis' THEN 10          ELSE 11 END) insert into @tblFoto (Bildnr) values (@Bildnummer) select * from @tblFoto
# [
declare  @references table (Beschreib nvarchar(255), bildnr int) insert into @references (Beschreib, bildnr) values ('vorne rechts',  2), ('vorne links',  3), ('hinten rechts',  4), ('hinten links',  5), ('Innenraum',  6), ('Navigationsgerät',  7), ('Kombiinstrument',  8), ('Fahrzeugdatenträger',  9), ('Servicenachweis',  10)
#].
Символ $ не указан в виде символа, который будет использоваться в MSSQL -
declare @tblFoto table (Bildnr int) declare @state_Objektiv varchar(255) = 'FahrzeugdatenträgerXXX' declare @Bildnummer int = (SELECT bildnr from @references WHERE Beschreib = @state_Objektiv) insert into @tblFoto (Bildnr) values (ISNULL(@Bildnummer,11)) select * from @tblFoto
# [#^ #]

Помогает ли этот пример вам -
declare @tblFoto table (Bildnr int) -- You won't need this bit if you already have your table declare @state_Objektiv varchar(255) = 'Fahrzeugdatenträger' declare @Bildnummer int set  @Bildnummer = (SELECT  CASE @state_Objektiv     WHEN 'vorne rechts' THEN 2     WHEN 'vorne links' THEN 3     WHEN 'hinten rechts' THEN 4     WHEN 'hinten links' THEN 5     WHEN 'Innenraum' THEN 6     WHEN 'Navigationsgerät' THEN 7     WHEN 'Kombiinstrument' THEN 8          WHEN 'Fahrzeugdatenträger' THEN 9          WHEN 'Servicenachweis' THEN 10          ELSE 11 END) insert into @tblFoto (Bildnr) values (@Bildnummer) select * from @tblFoto


EDIT - @ Naga-Синдхура указала, что это длинный список условий, которые, вероятно, лучше обрабатываются с использованием переменной таблицы. например
declare  @references table (Beschreib nvarchar(255), bildnr int) insert into @references (Beschreib, bildnr) values ('vorne rechts',  2), ('vorne links',  3), ('hinten rechts',  4), ('hinten links',  5), ('Innenraum',  6), ('Navigationsgerät',  7), ('Kombiinstrument',  8), ('Fahrzeugdatenträger',  9), ('Servicenachweis',  10)
Примечание. Я не добавил запись для условия ELSE (11).
Затем вы можете сделать что-то вроде
declare @tblFoto <span class="c

Пожалуйста, войдите или зарегистрируйтесь чтобы ответить на этот вопрос.

Категории

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

Связанных вопросов не найдено

...