我需要帮助才能做出这个选择。
这是2张桌子。 第一张表: - 有Unique / Primary buyID-s(我们可以说这里的buyID是和Order) -distID-s可以很多。
第二张表:
- 此表没有唯一的标识符
-same buyID这里有一个以上(这里基本上是buyID提供订单的更多细节,从第一张表中提供该订单的产品清单(buyID)。
我想做什么,但我无法想出如何编写查询:
- 选择所有buyID-s distID = 119从表1(buyID-s将是1724,1833和1890)
- 从表2中,总结数量,其中buyID(来自table2)= buyID(来自table1)。
因此我必须:
distID = 119
buyID = 1724 --------数量= 25(作为例子)
buyID = 1833 --------量= 60
buyID = 1890 --------数量= 23(如果还有product_number列表,将会很棒)
我希望这是有道理的。 我没有太多的经验,我想@一小时,我肯定不是太难,但这让我感到很生气...
我在等待帮助。 感谢
答案 0 :(得分:0)
使用LEFTJOIN
和GROUP BY
select t1.distID, t2.buyID,sum(t2.quantity) as quantity
from table1 t1
left join table2 t2 on t2.buyID = t1.buyID
where t1.distID = 119
group by t1.distID, t2.buyID
如果您还想在结果集中包含 product_number ,那么您必须使用像MAX(product_number) as product_number
这样的聚合函数来选择它们,因为查询使用 GROUP BY 子句。
答案 1 :(得分:0)
从表2中选择总和(数量)中的buyID(从表1中选择buyID,其中distID = 119)