Вот как я понял вопрос.
TEST
CTE представляет вашу таблицу - один из столбцов - это `ip_address '
- в зависимости от этого значения, вы хотите перейти к некоторому URL
Один из вариантов сделать это - использовать CASE
(или DECODE
, но - CASE
легче читать и поддерживать) и явно решить, гдеВы хотите перейти в зависимости от каждого значения ip_address
- это то, что показывает мой пример.
Другой вариант - развернуть таблицу (alter table ...
), добавить еще один столбец и указать там точный URL-адрес. Это масштабируется лучше, потому что - если вы когда-нибудь добавите новую строку в эту таблицу, вам придется отредактировать запрос интерактивного отчета и добавить еще одну опцию CASE
, которая равна глупо . Я предлагаю вам изменить таблицу.
Во всяком случае, здесь вы идете: это интерактивный запрос отчета. Ничего особенного в этом нет, просто обратите внимание на то, что измените свойства столбца link
и установите для "Escape special elements" значение "Нет".
with test (id, name, ip_address) as
(select 1, 'Google', '100.100.100.100' from dual union all
select 2, 'Bing' , '100.100.100.101' from dual
)
select
id,
name,
'<a href="' || case
when ip_address = '100.100.100.100' then 'https://www.google.com'
when ip_address = '100.100.100.101' then 'https://www.bing.com'
end
|| '" target="_blank">' || ip_address || '</a>' as link
from test;
[EDIT]
Если таблица содержит сам URL, то я бы предложил что-то вроде этого:
with test (id, name, ip_address, url) as
(select 1, 'Google', '100.100.100.100', 'https://www.google.com' from dual union all
select 2, 'Bing' , '100.100.100.101', 'https://www.bing.com' from dual
)
select
id,
'<a href="' || url || '" target="_blank">' || name || '</a>' as link
from test;
Этот запрос покажет name
в виде гиперссылки. Почему? Потому что я думаю, что видеть, например, "Google" более приемлемо, чем, например, видеть "100.100.100.101". Люди обычно предпочитают имена над числами . Посмотрите, поможет ли это.