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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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