Sql объединить строки с одинаковой датой

Я хочу объединить строки, когда они имеют одинаковую дату и номер позиции при агрегировании полученного 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

Обратитесь к этому изображению:

Sql объединить строки с одинаковой датой

Хороший. Итак, в чем вопрос? Не работает? Если да, то как? Что вы получаете? Неверные данные? Есть ошибки?

GolezTrol 29.10.2018 08:30

Пожалуйста, не размещайте изображения. Вместо этого скопируйте и вставьте как текст.

Thorsten Kettner 29.10.2018 08:34

Привет, GolezTrol, он просто добавляет t2 к следующему t1. Итак, есть 10 (5 + 5) столбцов с повторяющимися значениями.

mason 29.10.2018 08:34

Спасибо за пересмотр формата !! Я новичок в stackoverflow. Еще раз спасибо!

mason 29.10.2018 08:38

Зачем использовать GROUP BY, если агрегатные функции не задействованы? В сочетании с SELECT DISTINCT!?!

jarlh 29.10.2018 08:39

Добро пожаловать в stackoverflow. Найдите минутку, чтобы взять тур, особенно Как спросить. Данные выборки лучше всего использовать как DDL + DML. Пожалуйста, редактировать ваш вопрос, чтобы включить его, вашу текущую попытку и желаемые результаты. Подробнее: прочитай это.

Zohar Peled 29.10.2018 08:59

При публикации вопроса, связанного с базой данных, обязательно пометьте конкретного поставщика базы данных (я предполагаю, что здесь SQL-Server), а также конкретный тег версии (например, Sql-Server-2016).

Zohar Peled 29.10.2018 09:00

Спасибо, Зохар Пелед! Пересмотрел теги. Я посмотрю на ваши ссылки! Спасибо :)

mason 29.10.2018 09:12

Привет. Пожалуйста, используйте текст, а не изображения / ссылки для текста (включая код, таблицы и ERD). Используйте ссылку / изображение только для удобства, чтобы дополнить текст и / или для того, что не может быть дано в тексте. И никогда не давайте диаграмму без легенды / ключа. Прочтите и действуйте в соответствии с минимальный воспроизводимый пример. PS Google 'stackexchange notifications', чтобы научиться использовать @ для уведомления одного комментатора, не являющегося автором, о комментарии, в котором он находится.

philipxy 29.10.2018 09:47
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
9
1 541
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете попробовать использовать функцию 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]

ох, я не знал, что есть такая функция ... я просто принял твой ответ как лучший ответ.

mason 30.10.2018 04:53

Другие вопросы по теме