我有2个数据源CD和VD。 我有产品数据:产品A,B,C ......在数据源CD中 我有产品数据:产品1,2,3 ...在数据源VD
ProductA与Product1相同 ProductB与Product2相同 我需要来自这2个不同来源的ProductA / 1,ProductB / 2 ..的匹配数据 如果他们在两个来源中都有相同的产品名称,我可以按产品名称分组,但他们有不同的产品名称。
查询1:
<div id="container">
<div id="intro">
Intro
</div>
<div class="content-page-1">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Tempore temporibus ex magni nesciunt quasi illo sit aliquam unde! Molestias iusto perferendis nulla voluptatum illo non numquam impedit consequuntur sunt a!
</div>
<div class="content-page-2">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Tempore temporibus ex magni nesciunt quasi illo sit aliquam unde! Molestias iusto perferendis nulla voluptatum illo non numquam impedit consequuntur sunt a!
</div>
</div>
查询2:
SELECT CD.Description,Count(DISTINCT CD.TweetId) AS MatchingCount
FROM Result_Table_CSData CD
INNER JOIN Result_Table_VData VD
ON CD.TweetId = VD.TweetID
AND CD.Description = 'Product1'
AND VD.Description = 'ProductA'
我在两个表的描述列中都有100个产品...请建议一种方法,以便我可以运行单个查询,为每个产品运行一个查询。
答案 0 :(得分:0)
您想要创建一个允许您将Product1与ProductA链接的查询,但正如您所说,没有这样的链接。我不知道这有多可行,但似乎您必须通过创建一个包含源CD中的产品名称/ ID以及来自源VD的相应产品名称/ ID的表来创建该链接。
CDDesc VDDesc
--------- --------
Product1 ProductA
Product2 ProductB
然后查询
SELECT CD.Description,Count(DISTINCT CD.TweetId) AS MatchingCount
FROM Result_Table_CSData CD
INNER JOIN SourceLink SL ON (CD.Description = SL.CDDesc)
INNER JOIN Result_Table_VData VD
ON CD.TweetId = VD.TweetID
AND (SL.VDDesc = VD.Description)
答案 1 :(得分:0)
SELECT CD.Description,(Count(DISTINCT CD.TweetId) + Count(DISTINCT VD.TweetId)) AS MatchingCount
FROM Result_Table_CSData CD
INNER JOIN Result_Table_VData VD
ON CD.TweetId = VD.TweetID
AND charindex(REPLACE(VD.Description,'PRODUCT',''),'ABCDEFGHIJKLMNOPQRSTUVWXYZ')=CAST(REPLACE(CD.Description,'PRODUCT','') AS INT) GROUP BY CD.Description,VD.Description
答案 2 :(得分:0)
尝试这样的事情
SELECT
CD.Description
,Count(CD.TweetId) Over (Partition CD.Description ,VD.Description , CD.TweetId) AS MatchingCount
FROM Result_Table_CSData CD
cross apply (select VD.Description from Result_Table_VData VD where CD.TweetId = VD.TweetID AND VD.Description in ('ProductA','ProductB') ) VD
where CD.Description in ('Product1','Product2')
这应该为您提供所需的东西!