查询 SQL Server 分组。使用 SQL Server 2012。
我们有几个表 - 比如说订单和订单详细信息(1..* 关系)。假设 Orders 表有以下列:
OrderID,OrderDate
并且 OrderDetails 有
OrderID, OrderDetailID, ProductID, IsGift(有 Y,N 值),GiftAmt
我如何查询这些表以获取所有 Orders 以及如果至少一个 OrderDetail 具有将为 Y 的 HasGift 列IsGift=Y 在该顺序中,否则 HasGift 将为 N。
例如
OrderID Date
1 2020-05-06
2 2020-06-22
3 2020-07-02
OrderID OrderDetailID ProductID IsGift GiftAmt
1 1 123 N NULL
1 2 356 N NULL
2 1 335 Y 10
2 2 993 N NULL
3 1 377 Y 10
3 2 453 N NULL
3 3 343 Y 50
3 4 565 N NULL
Expected o/p:
OrderID OrderDate HasGift GiftSum
1 2020-05-06 N NULL
2 2020-06-22 Y 10
3 2020-07-02 Y 60