我陷入以下情况。
我有两个表Products
和Postage
:
邮资
表
+----------------------------------+
| Weight_GM | Postal Charges ($) |
+----------------------------------+
| 20 | 1 |
| 40 | 1.5 |
| 50 | 1.7 |
+----------------------------------+
产品
表
+-------------------------------+
| SKU | Title | Weight_GM |
+-------------------------------+
| ABC | Shose | 17 |
| JKL | Camera | 27 |
| XYZ | IPad | 48 |
+-------------------------------+
我想创建一个关系,以便根据两个表中定义的 Weight
从 Postage
表中收取适当的邮政费用。
期望的结果是这样的:
+---------------------------------------------------+
| SKU | Title | Weight_GM | Postal Charges |
+---------------------------------------------------+
| ABC | Shose | 17 | 1 |
| JKL | Camera | 27 | 1.5 |
| XYZ | IPad | 48 | 1.7 |
+---------------------------------------------------+
注意:我遇到过很多类似的问题,但没有解决我的问题。
提前致谢。
最佳答案
这应该可行——只需使用 GROUP BY 和 MIN:
SELECT DISTINCT Pr.SKU, Pr.Title, Pr.Weight_GM, MIN(PO.Postal_Charges) as PO_Charges
FROM Products Pr
JOIN Postage Po ON Pr.Weight_GM <= Po.Weight_GM
GROUP BY Pr.SKU, Pr.Title, Pr.Weight_GM
还有Fiddle .
关于sql - 两个表基于条件的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14609166/