gpt4 book ai didi

sql-server - MSSQL 查询优化

转载 作者:行者123 更新时间:2023-12-04 02:03:50 28 4
gpt4 key购买 nike

MSSQL,我需要为查询传递一组参数...有什么方法可以一次性完成!

我有 2 个数据源 CD 和 VD。我有产品数据:数据源 CD 中的产品 A、B、C...我有产品数据:数据源 VD 中的产品 1、2、3...

ProductA 与 Product1 相同ProductB 与 Product2 相同我需要来自这两个不同来源的 ProductA/1、ProductB/2.. 的匹配数据如果他们在两个来源中有相同的产品名称,我可以按产品名称分组,但他们有不同的产品名称。

查询 1:

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'

查询 2:

SELECT CD.Description,Count(DISTINCT CD.TweetId) AS MatchingCount
FROM Result_Table_CData CD
INNER JOIN Result_Table_VData VD
ON CD.TweetId = VD.TweetID
AND CD.Description = 'Product2'
AND VD.Description = 'ProductB'

我在两个表的描述列中都有 100 种产品...请建议一种方法,以便我可以运行单个查询,为每个产品运行一个查询。

最佳答案

您想要创建一个允许您将 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)

关于sql-server - MSSQL 查询优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31784730/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com