如何解决如何在最大记录上加入 2 个表但显示第一个表的所有记录?
表格订单有订单号、行号和金额。订单上可以有多行。表运费对每个订单都有运费。 如何连接两个表,以便将运费添加到订单表的最大行? 所以基本上运费只添加一次,而不是像左连接那样在订单表的每一行上添加。
OL
Select ol.orderno,ol.ordersuf,ol.lineno_,ol.amount
from order ol
where ol.orderno= 12345
[
广告
select ad.orderno,ad.ordersuf,ad.freight
from Freight ad
where ad.orderno =12345
[
预期结果:
[
解决方法
请尝试以下操作: CASE 语句的语法可能因您的数据库而异。
SELECT ol.orderno,ol.ordersuf,ol.lineno_,ol.amount,CASE
WHEN ol.lineno_ = (SELECT max(sol.lineno_) FROM order sol WHERE sol.orderno = ol.orderno) THEN ad.freight
ELSE 0
END AS QuantityText FROM order ol INNER JOIN Freight ad WHERE ol.orderno = ad.orderno
,
SELECT
a.orderno,a.ordersuf,a.lineno_,a.amount,CASE WHEN a.lineno_ = Max(a.lineno_) OVER(partition BY a.orderno) THEN b.freight ELSE 0 END AS freight
FROM
ol a
INNER JOIN freight b ON a.orderno = b.orderno
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。