Estou trabalhando em um projeto de restaurante. O restaurante aceita pedidos on-line e pedidos "no restaurante"
Preciso imprimir todos os pedidos ativos com 1 consulta. O problema surge quando preciso associar o pedido on-line a um cliente específico. Para pedidos "no restaurante", não preciso associar o pedido ao customer_id, mas preciso associar o table_id ao seu nome. Meu banco de dados se parece com:
Clientes
eu ia | nomes_de_clientes |
---|---|
10 | John |
11 | Peter |
Tabelas
eu ia | nome_da_tabela |
---|---|
1 | Tabela 1 |
2 | Tabela 2 |
Pedidos
eu ia | id_da_tabela | ID do cliente |
---|---|---|
1 | 0 | 10 |
2 | 1 | 0 |
3 | 2 | 0 |
Minha pergunta é:
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 que estou tentando fazer é quando o.table_id > 0 preciso ver t.table_name caso contrário o pedido é para entrega e então devo ver customer_names em vez de table_name
Como posso fazer isso? Obrigado pelo seu tempo!