3

次の表があります。

CREATE TABLE #Temp
(
    customerId INT
  , storeCity VARCHAR(50)
  , transactionDate VARCHAR(100)
  , TransactionDescription VARCHAR(200)
  , Amount DECIMAL(18, 2)
)

INSERT INTO #Temp (customerId, storeCity, transactionDate, TransactionDescription, Amount)
VALUES (2, 'Neuwied', 'January 14th, 2018', 'Lorem ipsum dolor', 278),
       (1, 'Sunset Point', 'September 14th, 2018', 'Lorem ipsum dolor sit amet, consectetuer', 159),
       (1, 'Celle', 'March 18th, 2018', 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Curabitur', 47),
       (3, 'General Lagos', 'March 27th, 2018', 'Lorem', 433), 
       (2, 'Ekeren', 'January 16th, 2018', 'Lorem ipsum dolor sit amet, consectetuer adipiscing', 308),
       (3, 'Montreal', 'November 24th, 2018', 'Lorem', 406),
       (1, 'Hamilton', 'March 17th, 2018', 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Curabitur sed', 240)

customerIdこのテーブルのそれぞれに対して json 文字列を作成するクエリを作成する必要があります。

これまでのところ、

SELECT   
    customerId,
    (SELECT 
         storeCity,
         transactionDate,
         TransactionDescription
     FOR JSON PATH, INCLUDE_NULL_VALUES)
FROM     
    #Temp
ORDER BY 
    1

しかし、これらすべてを組み合わせたいので、最終的には 3 行しかありません。

customerId 2 の場合、結果は次のようになります。

[
  {
    "storeCity": "Neuwied",
    "transactionDate": "January 14th, 2018",
    "TransactionDescription": "Lorem ipsum dolor"
  },
  {
    "storeCity": "Ekeren",
    "transactionDate": "January 16th, 2018",
    "TransactionDescription": "Lorem ipsum dolor sit amet, consectetuer adipiscing"
  }
]

可能であれば、json 文字列内の行を storeCity で並べ替え、次に transactionDate で並べ替えられるようにしたいと考えています。

誰でもこれで私を助けることができますか?

前もって感謝します。

4

1 に答える 1