У меня SQL View, который показывает
Штрих-код (k.t_cbcde), номер доставки (k.t_dino), номер квитанции (k.t_rcno), номер поставщика (k.t_sfbp), квитанция (k.t_crdt) и порядковый номер (c.t_orno).
Может быть несколько порядковых номеров для одного номера квитанции и несколько номеров квитанции для одного штрих-кода.
Включенные таблицы:
dbo.twhinh310101 with alias k
dbo.twhinh312101 with alias c
Это простое объединение, которое показывает следующие результаты:
k.t_cbcde as Barcodenumber, k.t_dino as Deliverynotenumber, k.t_rcno as Receiptnumber, k.t_sfbp as Suppliernumber, k.t_crdt as Receiptdate,
c.t_orno as Ordernumber
from
dbo.twhinh310101 k
left join dbo.twhinh312101 as c
on c.t_rcno = k.t_rcno
where k.t_cbcde = '0143797546'
Я использую Barcodenumber 0143797546 в качестве примера.
Это результат этого запроса: результат 01
Цель состоит в том, чтобы номера квитанций и все квитанции были в одной строке.
Вот так:
result03
Я уже написал Query, но он не работает должным образом:
SELECT DISTINCT sub
Barcodenumber,
Delieverynotenumber,
Receiptnumber,
Suppliernumber,
Receiptdate,
Ordernumber
= STUFF (
(SELECT ',' + t_orno
FROM dbo.twhinh312101 a,
WHERE (what to use here?)
GROUP BY t_orno
ORDER BY t_orno ASC
FOR XML PATH ('')), 1, 1, '')
FROM (
SELECT DISTINCT
k2.t_cbcde AS Barcodenumber,
k2.t_dino AS Delieverynotenumber,
Receiptnumber
= STUFF (
(SELECT ',' + t_rcno
FROM dbo.twhinh310101 k1
WHERE k1.t_cbcde = k2.t_cbcde
GROUP BY t_rcno
ORDER BY t_rcno ASC
FOR XML PATH ('')), 1, 1, ''
),
k2.t_sfbp AS Suppliernumber,
k2.t_crdt AS Receiptdate,
t_orno = STUFF (
(SELECT ',' + t_orno
FROM dbo.twhinh312101
WHERE t_rcno = k2.t_rcno
GROUP BY t_orno
ORDER BY t_orno ASC
FOR XML PATH ('')), 1, 1, ''
)
FROM
dbo.twhinh310101 k2
left join dbo.twhinh312101 AS c ON c.t_rcno = k2.t_rcno
where k2.t_cbcde = '0143797546'
)sub
Я ценю любую помощь:)
вот первые десять строк двух таблиц:
Таблица слишком велика для текстового редактора, поэтому я использую картинки
dbo.twhinh310101
dbo.twhinh312101
Если вам нужна дополнительная информация, просто дайте мне знать:)
Я добавил две таблицы в sqlfiddel: http://sqlfiddle.com/#!18/153bb0/3
Надеюсь, это поможет