Если значение в Field1 равно нулю, вернуть значение из Field2, в противном случае вернуть String - PullRequest
0 голосов
/ 27 февраля 2019

Хотя это кажется достаточно простым, я не могу получить его, и при этом я не смог найти то, что мне нужно, с помощью поиска здесь.Мне нужно, чтобы это было сделано внутри компоновщика или в моем коде SQL, который уже является чрезвычайно длинным фрагментом кода для того, что запрос уже делает.Вот основа вопроса:

Поля: ItemID |CustomID

Если в CustomID есть значение, я бы хотел перезаписать значение ItemID для этой записи строкой: "CK"+CustomID.

Если для этой записи поле CustomID пустое, сохраните оригинальное ItemID.

. Тогда мне также понадобится значение этого поля, которое будет использоваться для извлечения правильных данных изсвязанная таблица.В настоящее время он будет извлекать исходные значения ItemID для последующих полей, а не строковое значение "CK+CustomID", которое будет подставлено вместо ItemID.

Я думал, что независимый подзапрос будетнеобходимо выяснить, каким будет значение поля, прежде чем использовать это значение для сбора последующих полей из таблицы поиска.

Я готов работать с кодом SQL, сгенерированным моим конструктором запросов, но яне самый лучший, только с кодом.

Спасибо за помощь!

1 Ответ

0 голосов
/ 28 февраля 2019

Не видя образец содержимого вашей таблицы или связанной таблицы, а также не зная имен ни одной из этих таблиц, я бы предложил следующий пример кода:

select * 
from yourlinkedtable t inner join
(
    select iif(t.customid is null, t.itemid, 'CK' & t.customid) as id
    from yourtable t
) q 
on t.itemid = q.id

Здесь yourtable представляеттаблица, содержащая поля ItemID и CustomID, а yourlinkedtable представляет таблицу, которой вы хотите соответствовать префикс ItemID.

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