Я пытаюсь взять данные таблицы, построенные из оператора select, используя 2 таблицы и группу по..., а затем вывести каждую строку данных в конкатенированный текст с одной строкой.
Я возился с попыткой DECLARE, SET и печатать как строку concat.
use ap;
SELECT v.vendorid as 'VendorID', count(i.invoiceid) as 'Invoice Count',
sum(i.invoicetotal) as 'Invoice Total'
FROM vendors v
JOIN invoices i on i.vendorid = v.vendorid
GROUP BY v.vendorid
пытаюсь вывести как...
VendorID = 34 Количество счетов 2 Всего счетов = 1200,12
Просто объедините его в строку. Вам просто нужно преобразовать числовые значения в VARCHAR.
select 'VendorID = ' + CAST(v.vendorid AS VARCHAR(10)) + ' Count ' + CAST(count(i.invoiceid) AS VARCHAR(10)) +
' Invoice Totals = ' + FORMAT(sum(i.invoicetotal), 'c2')
from vendors v JOIN invoices i on i.vendorid = v.vendorid
group by v.vendorid
С этими примерными данными:
create table vendors (vendorid int)
create table invoices (vendorid int, invoiceid int, invoicetotal money)
insert into vendors values (34)
insert into invoices values (34, 1, 1000), (34, 2, 200.12)
Возвращает:
VendorID = 34 Count 2 Invoice Totals = $1,200.12
Это сработало отлично ... Я наверняка переосмыслил это. Спасибо.