Конкатенация нескольких столбцов с использованием вещи - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть статус счета-фактуры в двух столбцах и номер поставщика. Я хочу объединить статус счета-фактуры в одну строку на основе номера поставщика, используя материал

vendor num    invoice status
70000141      V-Parked Items
70000141      V-Parked Items
70000141      not available
70000141      s-noted items
77000141      V-Parked Items

вывод должен быть:

vendor num    invoice status
70000141      V-Parked Items,s-noted items,not avilable

может ли кто-нибудь помочь в этом

Ответы [ 3 ]

0 голосов
/ 05 сентября 2018

используйте group_concat, если mysql

select vendo_num,group_concat(invoice_status separator ',') from tablea
group by vendo_num
0 голосов
/ 05 сентября 2018

Я использую SQL Server Management Studio 2014. Я пытался использовать этот код, но в результате возникла ошибка:

select VendorNumber, stuff( (
    select distinct ','+dbo.table2.InvoiceStatus
    from dbo.table2
    where dbo.table4.VendorNumber = dbo.table2.VendorNumber 
    for xml path('')
    ), 1, 1, ''
) as InvoiceStatus
from dbo.table2
group by VendorNumber

Но в итоге возникла ошибка Msg 4104, уровень 16, состояние 1, строка 3:

Не удалось создать идентификатор из нескольких частей "dbo.table4.VendorNumber" оценка.

Таблица с столбцами: dbo.table2.

0 голосов
/ 05 сентября 2018

stuff() доступно в SQL Server, поэтому я бы сделал:

select vendor_num, stuff( (select distinct ','+t1.invoice_status
                           from table t1
                           where t1.vendor_num = t.vendor_num 
                           for xml path('')
                          ), 1, 1, ''
                        ) as invoice_status
from table t
group by vendor_num; 
...