【发布时间】:2012-11-16 17:04:50
【问题描述】:
我对 SQL 很陌生,但热衷于学习(使用 SQL 服务器)。
我的数据表有:
[关键字]、[来源]、[访问]列
关键字列有重复值。
[关键字]中的值示例
google
google analytics
how to use google analytics
bing
bing vs google
我的 KeywordDefinition 表有:
[Keyword Branded ID] [Keyword Branded Group]
google branded google
bing branded bing
关键字列只有唯一值,所以这将是关键。
我正在使用 LEFT OUTER JOIN 将 [Keyword Branded Group] 插入到我的数据表中,该表实际上根据每个关键字是否匹配 google 或 bing 为每个关键字分配一个标签。
SELECT
ISNULL(c1.[Keyword Branded Group],'Other Branded') AS [Keyword Branded Group],
a.*
FROM [mychoice-data-b9BwZvd] a
LEFT OUTER JOIN [mychoice-keyworddims] c1 ON a.[Keyword] LIKE '%'+ c1.[Keyword Branded ID] +'%'
但是,我的问题是,基于“bing vs google”同时匹配 Google 和 Bing 的事实,这会导致额外的行。反正这是我的理解。
有人建议我可以保留数据表中的原始行数,并将新列 [Keyword Branded Group] 作为逗号分隔值 'Branded Google, Branded Bing' 而不是以更多行结束。
遗憾的是他们没有说更多,而且我不知道要查找哪些 SQL 命令!任何人都可以帮忙吗?我只需要有人指出我正确的方向!
谢谢!
【问题讨论】:
标签: sql-server left-join