Я хочу использовать имя поля для определения столбца, который я буду использовать для поиска, но сначала мне нужно использовать имя для поиска идентификатора столбца, затем объединить идентификатор столбца со строкой, чтобы получить фактическое имя столбца,Сейчас я работаю с двумя запросами, но я хотел бы объединить их в один запрос.
Например, я хочу найти "fool = true".В первой таблице я обнаружил, что значения для «дурак» находятся в столбце 1 второй таблицы.Во второй таблице я выполняю поиск real для «field_id_1 = true».
Эта таблица отображает имена в идентификаторы столбцов, используемые во второй таблице.
exp_channel_fields
+field_id +field_name +
|---------|-----------|
|1 |fool |
|2 |money |
+---------+-----------|
В этой таблице есть данные, которые я хочу найти, но имена столбцов не совсем соответствуют идентификатору из предыдущего шага.Мне нужно добавить «field_id_» к идентификатору, который я нашел ранее:
exp_channel_data
+entry_id+field_id_1 +field_id_2 +
|--------|-----------|-----------|
|837 |true |$500 |
|838 |false |$50,000 |
+--------+-----------+-----------+
Вот первый запрос, который я использую, и я сохраняю результат в $ myFieldID.
SELECT field_id as tField_id FROM exp_channel_fields
WHERE field_name = 'fool'
Затем яиспользуйте результат для построения второго запроса:
SELECT
GROUP_CONCAT(entry_id ORDER BY entry_id SEPARATOR '|')
AS result_entries
FROM exp_channel_data
WHERE field_id_{$myFieldID} = "true"
Есть ли способ объединить их в один запрос?Заранее спасибо!