SQL如何整?

csover8 2020-04-30 07:26:23
通过某些语句,查询到OrderID: 1 Quantity: 20
OrderId: 2 Quantity: 50
OrderId: 3 Quantity: 190


以OrderId又关联到另一张详细的表 OrdersPassDetail, 它的结构如下:

OrderPassDetailId orderId ffn number
1 1 22 p200
2 1 23 P400
3 2 68 P800
4 3 90 P200
5 3 50 P500
6 3 24 P100

现在想通过
OrderId 查询出以OrderPassDetail为准的记录,但Quantity遇到相同时,某一行就设置为0
最终结果要如下:


OrderPassDetailId orderId ffn number Quantity
1 1 22 p200 20
2 1 23 P400 0
3 2 68 P800 50
4 3 90 P200 0
5 3 50 P500 190
6 3 24 P100 0



SQL该如何整? 谢谢。
...全文
334 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
csover8 2020-05-10
  • 打赏
  • 举报
回复
感谢楼上。。。。。
mirrorspace 2020-05-01
  • 打赏
  • 举报
回复
SELECT b.*,CASE WHEN b.rowNumber=1 THEN a.Quantity ELSE 0 END as Quantity FROM list a JOIN (SELECT ROW_NUMBER() OVER(PARTITION BY orderid ORDER BY orderid) rowNumber,* FROM detail) b ON a.OrderID=b.orderId // 思路 orderid连接,分组,排序,除了第一行,其它是0

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧