T SQL / SQL - Ошибка: столбец недопустим в списке выбора, потому что он не содержится ни в агрегатной функции, ни в предложении GROUP BY - PullRequest
0 голосов
/ 06 мая 2020

Я надеюсь, что кто-то может указать мне правильное направление здесь.

ИМЯ БД №1: "Wayin_Integration_SFMC_AD"

И я пытаюсь объединиться с этой главной таблицей (БД # 2): «Master_Users_SVOC_test_vt»

Предполагая, что каждый в «Wayin_Integration_SFMC_AD» уже имеет первичный ключ и запись в «Master_Users_SVOC_test_vt», теперь я хочу ОБЪЕДИНЯТЬ остальные данные для этой записи.

Проблема в том, что большинство моих полей не включены в предложение GROUP BY.

Нужно ли мне использовать здесь подзапрос? Я новичок в SQL. Вот фрагмент, в котором я не уверен. Без GROUP BY это сработало бы, но меня сбивает с толку группировка. агрегатную функцию или предложение GROUP BY. "

  • , которое является первым полем, не включенным в предложение GROUP BY.

ЭТО SQL ЭТО НЕ РАБОТАЕТ:

MERGE INTO [bo_marketing_capability_dev].[dbo].[Master_Users_SVOC_test_vt] AS m 
USING (
SELECT
m.subscriber_key,
m.email_address,
w.[First_Name] AS first_name,
w.[Last_Name] AS last_name,
, MAX (w.DateAdded) AS wayin_DateAdded    
FROM Wayin_Integration_SFMC_AD w 
INNER JOIN Master_Users_SVOC_test_vt m
ON w.Email = m.email_address
GROUP BY subscriber_key, w.[Email], m.email_address
) AS SRC
ON ([SRC].[email_address] = [m].[email_address])

1 Ответ

0 голосов
/ 11 мая 2020
MERGE INTO [bo_marketing_capability_dev].[dbo].[Master_Users_SVOC_test_vt] AS m 
USING (
SELECT
m.subscriber_key,
m.email_address,
w.[First_Name] AS first_name,
w.[Last_Name] AS last_name,
, MAX (w.DateAdded) AS wayin_DateAdded    
FROM Wayin_Integration_SFMC_AD w 
INNER JOIN Master_Users_SVOC_test_vt m
ON w.Email = m.email_address
GROUP BY m.subscriber_key, m.email_address, w.[First_Name], w.[Last_Name]
) AS SRC
ON ([SRC].[email_address] = [m].[email_address])

Попробуйте код выше. GROUP BY должен содержать все неагрегированные столбцы.

...