Я хочу объединить строки, когда они имеют одинаковую дату и номер позиции при агрегировании полученного QTY и выдающегося QTY. Кроме того, номер заказа следует сочетать с «,».
См. Изображение или таблицу ниже.
Заранее спасибо!!
Это мой SQL-запрос ...
SELECT *
from [mason01].[dbo].[po_east] as t1
inner join (select distinct [Date],[ITEMNO],[PONUMBER],[LOCATION],[Received],[Outstanding]
FROM [mason01].[dbo].[po_east] group by [Date], [ITEMNO],[PONUMBER],[LOCATION],[Received],[Outstanding]) as t2
on t1.Date=t2.Date and t1.ITEMNO=t2.ITEMNO
Дата ПУНКТ ПОР. МЕСТОПОЛОЖЕНИЕ Получено Неоплачено
4/22/2018 MA1005 SON18497 SF 50 50
4/22/2018 MA1005 SON18562 SF 300 0
Дата ПУНКТ ПОР. МЕСТОПОЛОЖЕНИЕ Получено Неоплачено
4/22/2018 MA1005 SON18497, SON18562 SF 350 50
Обратитесь к этому изображению:
Пожалуйста, не размещайте изображения. Вместо этого скопируйте и вставьте как текст.
Привет, GolezTrol, он просто добавляет t2 к следующему t1. Итак, есть 10 (5 + 5) столбцов с повторяющимися значениями.
Спасибо за пересмотр формата !! Я новичок в stackoverflow. Еще раз спасибо!
Зачем использовать GROUP BY, если агрегатные функции не задействованы? В сочетании с SELECT DISTINCT!?!
Добро пожаловать в stackoverflow. Найдите минутку, чтобы взять тур, особенно Как спросить. Данные выборки лучше всего использовать как DDL + DML. Пожалуйста, редактировать ваш вопрос, чтобы включить его, вашу текущую попытку и желаемые результаты. Подробнее: прочитай это.
При публикации вопроса, связанного с базой данных, обязательно пометьте конкретного поставщика базы данных (я предполагаю, что здесь SQL-Server), а также конкретный тег версии (например, Sql-Server-2016).
Спасибо, Зохар Пелед! Пересмотрел теги. Я посмотрю на ваши ссылки! Спасибо :)
Привет. Пожалуйста, используйте текст, а не изображения / ссылки для текста (включая код, таблицы и ERD). Используйте ссылку / изображение только для удобства, чтобы дополнить текст и / или для того, что не может быть дано в тексте. И никогда не давайте диаграмму без легенды / ключа. Прочтите и действуйте в соответствии с минимальный воспроизводимый пример. PS Google 'stackexchange notifications', чтобы научиться использовать @ для уведомления одного комментатора, не являющегося автором, о комментарии, в котором он находится.
Вы можете попробовать использовать функцию stuff ()
SELECT
[Date],[ITEMNO],[LOCATION],sum([Received]) as [Received] ,sum([Outstanding]) as [Outstanding]
,ponum = STUFF((
SELECT ',' + b.[PONUMBER]
FROM [mason01].[dbo].[po_east] b
WHERE a.[Date] = b.[Date] and a.[ITEMNO]=b.[ITEMNO]
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')
FROM [mason01].[dbo].[po_east] a
group by [Date],[ITEMNO],[LOCATION]
ох, я не знал, что есть такая функция ... я просто принял твой ответ как лучший ответ.
Хороший. Итак, в чем вопрос? Не работает? Если да, то как? Что вы получаете? Неверные данные? Есть ошибки?