Я хочу сделать фильтрацию таблицы, но в таблице есть столбец user_id
, и я хочу фильтровать его реальную таблицу (я имею в виду users.username
).concat select не использовать в where where (mysql)
Мой код:
SELECT SQL_CALC_FOUND_ROWS `id`, `user_id`, `payment_type`,
`is_paid`, `is_invoiced`, `invoice_number`, `created_at`, `ip`,
`data`, `coupon_code`, `payment_total`,
(select CONCAT(users.name,' ',users.surname) from users where users.id = orders.user_id) as fullname
FROM orders
WHERE (`fullname` LIKE '%M%' OR `payment_type` LIKE '%M%') ORDER BY `is_invoiced` asc
Когда я это та или иная строчка, есть ошибка, как это: Unknown column 'fullname' in 'where clause'
.
Как его решить?
Кстати, почему использовать LIKE «% M%» для FULLNAME, когда она выглядит как есть только один результат для имени пользователя всегда, потому что of users.id? И вы используете orders.user_id, когда таблица заказов используется вне подзапроса? Не могли бы вы отобразить фактические данные из ваших таблиц? – Edper