CASE-запрос для получения результатов из разных таблицMySql

Форум по Mysql
Anonymous
CASE-запрос для получения результатов из разных таблиц

Сообщение Anonymous »

Я работаю над ресторанным проектом. Ресторан принимает онлайн-заказы и заказы «в ресторане».
Мне нужно распечатать все активные заказы с помощью 1 запроса. Проблема возникает, когда мне нужно связать онлайн-заказ с конкретным клиентом. Для заказов «в ресторане» мне не нужно связывать заказ с customer_id, но мне нужно связать table_id с его именем.
Моя база данных выглядит например:

Изображение

Изображение

[img]https://i.sstatic .net/eArUwEYv.png[/img]

Мой запрос:

Код: Выделить всё

select t.id, o.id as oid, (case when t.id > 0 then t.table_name else c.customer_names end) AS table_name
from tables t, orders o, customers c where o.table_id = t.id group by o.id order by o.id asc;
Я пытаюсь добиться того, чтобы o.table_id > 0 мне нужно было видеть t.table_name, в противном случае заказ предназначен для доставки, и тогда я должен видеть customer_names вместо table_name
Как я могу это сделать?
Спасибо, что уделили время!

Подробнее здесь: https://stackoverflow.com/questions/793 ... ent-tables

Вернуться в «MySql»