我想从名为“产品”的表中创建具有不同ITEMS的Order_List。
在餐桌产品内部,存在重复项,因为产品在不同的超市中以不同的价格出售。
我希望用户在列表表中输入所需的产品并获得最低的价格。请注意,每个用户都有一个不同的邮政编码,每个产品都属于一个具有不同邮政编码的不同超市。 想法是,仅当商品具有相同的客户邮政编码时,才能获得最低价格。此外,必须对照“库存”表验证“列表”表中插入的数量。
这就是我所拥有的:
http://sqlfiddle.com/#!9/f9f73a/1
这是我的示例:
这是我到目前为止尝试过的:
select p.idProduct, name, price, min(price)
from product p
inner join market m
on p.idMarket = m.idMarket
inner join stock s
on p.idProduct = s.idProduct
inner join list l
on p.idProduct = l.idProduct
where p.idProduct = 14
and exists (select 1
from stock s
where p.idProduct = s.idProduct
and l.quantity <= s.quantity)
group by p.idProduct, name, price
您能帮我解决这个问题吗?
答案 0 :(得分:0)
select p.idProduct, p.name, p.price, min(p.price)
from product p
inner join market m
on p.idMarket = m.idMarket
inner join stock s
on p.idProduct = s.idProduct
inner join list l
on p.idProduct = l.idProduct
where p.idProduct = 14
and exists (select 1
from stock s1
where p.idProduct = s1.idProduct
and l.quantity <= s1.quantity)
and p.price = (select min(price) from product p2 where p2.idProduct = p.idProduct)
group by p.idProduct, p.name, p.price