Я пытаюсь сравнить каждую строку из оператора выбора со ссылочной строкой.
Итак, чтобы выразить это в контексте, я бы хотел найти справочную строку, в которой указаны данные учетной записи одного из наших пользователей.
SELECT id, first_name
FROM account
WHERE id = '100'
Возвращает информацию для пользователя
Затем я хочу запустить инструкцию SELECT, чтобы вернуть всех пользователей - довольно просто
SELECT id,first_name
FROM account
Для каждой строки я хотел бы сравнить first_name со ссылочной строкой. Если это то же самое, верните '1', если это не так, верните '0'
Я могу сделать это, если введу значение для сравнения, например, «Пол»
SELECT id,first_name,
CASE
WHEN first_name = 'Paul' THEN '1'
ELSE '0'
END
FROM account
Но, очевидно, я хочу заменить Пола на то, что first_name из справочной строки выше.
Мой поиск в Google предполагает, что мне нужно объявить переменную, а затем что-то с помощью SELECT INTO для переменной
DO $$;
Declare
@reference_first_name text;
BEGIN
SELECT first_name
into @reference_first_name
FROM account
WHERE id = ‘100’
END;
Но я не могу собрать это вместе.
Тогда, чтобы пойти дальше, можно ли сослаться на несколько столбцов?