【发布时间】:2020-05-06 11:44:00
【问题描述】:
我希望有人可以在这里为我指明正确的方向。
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 很陌生。这是我不确定的sn-p。如果没有 GROUP BY,这将起作用,但让我感到困惑的是分组。
错误消息:“列 '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])
【问题讨论】:
-
您应该能够提供一个具有相同问题的更简单的查询。
-
如果你想使用聚合函数,你需要按除具有这些函数的列之外的所有列进行分组
-
错误信息的哪一部分你不清楚???