У меня есть две таблицы table1
и table2
. Обе таблицы имеют одинаковую структуру. У них есть 4 столбца (x1
, y1
, z1
и w1
в первой таблице и x2
, y2
, z2
, w2
, во второй таблице).
Я хочу извлечь значения из первого столбца второй таблицы (x2
). Процедура следующая:
- Извлечение всех строк из второй таблицы, для которых
y2=y0
и w2=w0
.
- Для каждой извлеченной строки взять значения первых трех столбцов (
x_i
, y_i
и z_i
).
- Из первой таблицы извлеките все строки, для которых
x1==x_i and y1==y_i and z1==z_i
(заранее знаю, что будет извлечена одна или ноль строк).
- Для извлеченной строки (если она есть) проверьте значение в столбце
w1
. Если оно не равно w0
, добавьте x_i
в список. Если из первой таблицы не извлечены строки, также добавьте в список x_i
.
- Повторите эту процедуру для всех строк, извлеченных из второй таблицы на шаге 1.
В конце я хочу получить уникальный список значений из x2
(без дубликатов).
У меня вопрос, может ли описанная процедура быть выполнена одной командой.
ДОБАВЛЕНО
w0
и y0
известны и фиксированы (только некоторые фиксированные значения).