Я пытаюсь создать запрос, в котором выбранные строки выбираются на основе данных, расположенных в другой таблице.По сути, в одной таблице есть имя столбца, которому мы пытаемся соответствовать, и значение, которое мы пытаемся получить.
Например, скажем, это мои таблицы:
TABLE_1
TABLE_2_COL | VALUE
--------------------
COL_1 | dog
COL_2 | cat
COL_3 | fish
TABLE_2
id | COL_1 | COL_2 | COL_3
------------------------
1 | cow | seal | snake
2 | cow | cat | snake
3 | cow | seal | dog
4 | fish | seal | snake
Я хочусделать что-то вроде
select t2.*
from TABLE_1 t1
left join TABLE_2 t2
on t2[t1.TABLE_2_COL] = t1.VALUE <- this line obviously not correct, but it's the line that respresents what I'm trying to do
, которое вернет
id | COL_1 | COL_2 | COL_3
----------------------------
2 | cow | cat | snake
Столбец 'TABLE_2_COL' в таблице один всегда будет содержать имя одного из столбцов TABLE_2.Поскольку единственная строка в TABLE_2, которая удовлетворяет запросу, который я хочу сделать, - это 2 (где COL_2 - «cat»), это строка, которая возвращает.