Привет, мне нужно заменить целочисленное поле соответствующим текстом, это не переменная вещь, использование объединения было бы пустой тратой.
Структура таблицы
CREATE TABLE `mesas_cab` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cid` int(11) DEFAULT NULL,
`vid` int(11) DEFAULT NULL,
`status` int(11) DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
и мой запрос
SELECT
mesas_cab.id,
mesas_cab.cid,
mesas_cab.vid,
mesas_cab.status,
usuarios.NOME,
clientes.RAZAOSOCIAL,
CASE mesas_cab.status
WHEN 0 THEN 'Livre'
WHEN 1 THEN 'Ocupada'
WHEN 2 THEN 'Fechada'
END CASE as status_str
FROM
mesas_cab
LEFT JOIN usuarios ON mesas_cab.vid = usuarios.CODIGO
LEFT JOIN clientes ON mesas_cab.cid = clientes.CODIGO
я видел этот ответ заменить целое число на строку в запросе
, но мой запрос все еще дает мне синтаксические ошибки
[SQL] SELECT
mesas_cab.id,
mesas_cab.cid,
mesas_cab.vid,
mesas_cab.status,
usuarios.NOME,
clientes.RAZAOSOCIAL,
CASE mesas_cab.status
WHEN 0 THEN 'Livre'
WHEN 1 THEN 'Ocupada'
WHEN 2 THEN 'Fechada'
END CASE as status_str
FROM
mesas_cab
LEFT JOIN usuarios ON mesas_cab.vid = usuarios.CODIGO
LEFT JOIN clientes ON mesas_cab.cid = clientes.CODIGO
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'CASE as status_str
FROM
mesas_cab
LEFT JOIN usuarios ON mesas_cab.vid = usuar' at line 12
но когда я удаляю весь оператор case, запрос работает почти так, как планировалось (с соединениями все в порядке)