【发布时间】:2016-05-23 21:53:42
【问题描述】:
希望你能帮助我。
我需要创建一个查询,该查询将使用动态结果中的值作为左连接表。
例如:
此查询将始终返回不同的值。基于每个@itemid。
SELECT DISTINCT [Reference]
FROM TABLE_ABC
WHERE ID = @ItemId
然后使用此“参考”值,我需要在该值上左连接并返回其总和,如下面的查询。 如果我在每个左连接中硬编码参考,下面的查询就完美了。 但我需要使这一切成为动态的,它将根据它返回的参考项的数量创建查询。
SELECT
SUM(x.Value) [Ref A],
SUM(x1.Value) [Ref B],
SUM(x2.Value) [Ref C]
FROM TABLE_YZ yz
LEFT JOIN TABLE_ABC x ON yz.id = x.id AND x.Reference = 'Ref A'
LEFT JOIN TABLE_ABC x1 ON yz.id = x.id AND x1.Reference = 'Ref B'
LEFT JOIN TABLE_ABC x2 ON yz.id = x.id AND x2.Reference = 'Ref C'
谁能给我一些关于如何创建这个脚本的建议? 或者我要寻找什么?
非常感谢。
安德森
** 示例结果:
Total ---- Ref A ---- Ref B ---- Ref C ---- Ref D ---- Ref E ---- 等等........
1,000.00 ---- 100.00 ---- 200.00 ---- 300.00 ---- 250.00 ---- 250.00
【问题讨论】:
-
只需将连接表改成带括号()的子查询,并给它一个别名
-
什么关系型数据库? mySQL,SQL服务器?由于使用了 [],因此猜测 SQL 服务器。并且....它 table_yz 您与第一个查询不同的列表?最后它们需要是列吗?这似乎通过或使用分析作为一个小组会更容易。
-
SQL Server - 谢谢
-
budirec - 谢谢。不幸的是,我看不出你的意思。可以举个例子吗?
-
我需要查看一些具有预期结果的示例数据我不确定您在这里要做什么。