我有3张桌子,为餐馆提供产品。存在于酒吧,食品和配料中的产品。
我使用php和mysql。我有另一个表,其中包含有关目前已完成的订单的信息。有两个字段,最重要的字段,包含有关产品ID和类型的信息(从酒吧,厨房或配料)。 我正在考虑像下面这样写sql查询来使用条形图产品,厨房或配料,但它不起作用。基本上,第二个连接表必须是“bar”,“produse”或“stoc”。
SELECT K.nume,
COUNT(K.cantitate) as cantitate,
SUM(K.pret) as pret,
P.nume as NumeProduse
FROM `clienti_fideli` as K
JOIN if(K.tip,bar,produse) AS P ON K.produs = P.id_prod
WHERE K.masa=18 and K.nume LIKE 'livrari-la-domiciliu'
GROUP BY NumeProduse
答案 0 :(得分:1)
我认为你不能那样做。
可以更改数据库架构吗?一个更好的选择是将酒吧,食物和配料放在一个表格(例如产品)中,其字段类型可以是“bar”,“produse”或“stoc”
SELECT K.nume,
COUNT(K.cantitate) as cantitate,
SUM(K.pret) as pret,
P.nume as NumeProduse
FROM `clienti_fideli` as K
JOIN product AS P ON K.produs = P.id_prod AND P.tip = <product_type>
WHERE K.masa=18 and K.nume LIKE 'livrari-la-domiciliu'
GROUP BY NumeProduse