LEFT JOIN CONCAT (‘привет _’, c.id) возможно?

Возможно ли иметь что-то вроде этого:

ВЫБЕРИТЕ c.id как id
С каналов c
LEFT JOIN CONCAT (‘привет _’, c.id)

Мне нужен этот конкат с c.id. НЕТ ДРУГОГО ПУТИ.
Так какие-нибудь советы?

-4

Решение

Вы спросили, можете ли вы использовать выражение, включающее значения столбцов и функции, такие как CONCAT, для генерации имен таблиц в запросах в MySQL.

Краткий ответ: нет.

Есть более длинный ответ, включающий подготовленные MySQL заявления. Это в основном способ использования строковой обработки в хранимой процедуре MySQL для генерации текста запроса для запуска.

2

Другие решения

Если вы собираетесь сделать это на уровне SQL: это невозможно. Токены имен таблиц не вычисляются из выражений.

Однако, с php и динамическим созданием запроса, должно быть достаточно просто использовать «модифицированное» имя таблицы в соответствии с вашими потребностями.
Так что ваши concat() должен быть выражением php при построении запроса.

В случае, когда вы пытаетесь объединить (другую) таблицу на основе значения столбца базовой таблицы, вы далеки от любой семантики SQL.

В этом случае вы можете изменить схему, чтобы объединить все экземпляры таблиц, идентифицированные тем, что ваш concat сейчас пытается вычислить, для информации одной таблицы и пометить каждую строку с помощью логический стол, к которому он принадлежит.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector