嗨,我有一个关于连接列的问题。我有两张桌子。
Table 1: Sales Order-> OrderID, ProductsOnHold (Should list product(s) on hold)
Table 2: Products-> ProductID, OnHold (boolean)
- 一个销售订单可以有许多产品。
- 一个产品可以暂停,如果该订单有该产品,这将使销售订单被暂停。
因此,可以暂停销售订单,因为有 1 个或多个产品处于暂停状态。
如果订单被搁置,我能够展示一种产品,但如果它有更多产品被搁置怎么办 - 我怎样才能展示它们呢?这是我正在创建的视图。
这是我到目前为止所做的:
(SELECT ProductName
FROM Products with (NOLOCK)
WHERE (OnHold = 1) AND (EXISTS
(SELECT CASE
WHEN (COUNT(DISTINCT Product)> 1) THEN (Product + ', ' + Product)
ELSE Product END AS ProductName
FROM SalesOrder WITH (NOLOCK)
GROUP BY OrderID ))) AS ProductsOnHold
期望的输出:
OrderID | ProductsOnHold
----------------------------------
1 | P1, P2, P7
2 |
3 | P1
4 | P1, P7, P8, P9, P15, P77
我的 sql 查询中缺少什么?