Я консолидирую веб-сервис. Я заменяю несколько вызовов на сервис одним вызовом, который содержит данные.
Я создал таблицу:
CREATE TABLE InvResults
(
Invoices nvarchar(max),
InvoiceDetails nvarchar(max),
Products nvarchar(max)
);
Я использовал (max)
, потому что я не знаю, насколько сложной будет json в это время.
Мне нужно сделать что-то вроде выбора (это псевдокод, а не фактический SQL):
SELECT
(SELECT *
INTO InvResults for Column Invoices
FROM MyInvoiceTable
WHERE SomeColumns = 'someStuffvariable'
FOR JSON PATH, ROOT('invoices')) AS invoices;
SELECT
(SELECT *
INTO InvResults for Column InvoiceDetails
FROM MyInvoiceDetailsTable
WHERE SomeColumns = 'someStuffvariable'
FOR JSON PATH, ROOT('invoicedetails')) AS invoicedetails;
Я не знаю, как это отформатировать, и мои навыки работы с Google меня подводят на данный момент , Я понимаю, что, вероятно, хочу использовать инструкцию UPDATE, но я не уверен, как это сделать в сочетании с остальными моими требованиями. Я изучаю Как мне выполнить ОБНОВЛЕНИЕ с SELECT на SQL Сервере? , но я все еще остановился.
Конечным результатом должна быть таблица "InvResults", которая имеет 3 столбцы, содержащие одну строку с результатами операторов Select как JSON. Имена столбцов должны быть определены так же, как объекты json root.