【发布时间】:2018-05-21 01:24:31
【问题描述】:
我正在尝试运行查询以查找我应该推广哪些广告资源以及应该运行哪个广告系列,以便我可以移动该广告资源。
我有三张桌子:
-
campaigns列出了我可以运行的不同活动,每个活动都有一个唯一的 ID。有些广告系列只宣传一件商品,有些则宣传多件商品。 -
inventory有我所有的库存物品和这些物品的数量。 -
campaign_to_inventory将唯一的广告系列 ID 与库存项目相匹配。
campaigns:
name | id
-------------|---
blue-widgets | 1
gluten-free | 2
gadget | 3
inventory:
item | qty
-------|----
thing1 | 0
thing2 | 325
thing3 | 452
thing5 | 123
thing7 | 5
campaign_to_inventory:
id | item
---|-------
1 | thing1
1 | thing2
1 | thing5
2 | thing1
2 | thing3
3 | thing7
我想运行一个查询来查找我可以在有所需库存的情况下运行的所有广告系列。我目前正在运行此查询:
SELECT * FROM `campaigns` LEFT JOIN `campaign_to_inventory` ON `campaigns`.`id` = `campaign_to_inventory`.`id` LEFT JOIN `inventory` ON `campaign_to_inventory`.`item` = `inventory`.`item`
返回:
name | id | item | qty
-------------|----|--------|----
blue-widgets | 1 | thing1 | 0
blue-widgets | 1 | thing2 | 325
blue-widgets | 1 | thing5 | 123
gluten-free | 2 | thing1 | 0
gluten-free | 2 | thing3 | 452
gadget | 3 | thing7 | 5
我应该使用 PHP 处理这些数据以仅查找所有商品数量都大于最小阈值的广告系列,还是有办法修改查询以限制那里的行数?是否有一个经验法则来说明我什么时候可以/应该做一个而不是另一个?
【问题讨论】:
-
它可能适用于 SQL。最小值在哪里定义?
标签: mysql