こんにちは、列の連結について質問があります。私は2つのテーブルを持っています。
Table 1: Sales Order-> OrderID, ProductsOnHold (Should list product(s) on hold)
Table 2: Products-> ProductID, OnHold (boolean)
- 販売注文には多くの製品を含めることができます。
- 製品を保留にすることができます。これにより、その注文にその製品が含まれている場合、受注が保留になります。
そのため、1 つ以上の製品が保留中の場合、販売注文を保留にすることができます。
注文が保留中の場合は 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クエリに欠けているものはありますか?