我希望有人能在这里为我指明正确的方向。
DB#1名称:"Wayin_Integration_SFMC_AD">
我正试图与这个主表(DB#2(合并:"Master_Users_SVOC_test_vt">
假设"Wayin_Integration_SFMC_AD"中的每个人都已经在"Master_Users_SVOC_test_vt"中有了主键和记录,现在我想合并到该记录的剩余数据中。
问题是,我的大多数字段都没有包含在GROUP BY子句中。
我需要在这里使用子查询吗?我是SQL的新手。以下是我不确定的片段。如果没有GROUP BY,这是可行的,但分组让我感到困惑。
ERROR MESSAGE:"选择列表中的列'Wayin_Integration_SFMC_AD.First_Name'无效,因为它既不包含在聚合函数中,也不包含在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])
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
应具有所有非聚合列。