我正在使用SQL Server 2008,我有一项任务是制作一些报告,要求我使用表格对JOIN
的某些数据进行排序。我正在为此写一个程序。看起来有点像
CREATE PROCEDURE getReport @ReportType int
AS
DECLARE @DataToJoin table
--DETAILS OMMITTED
INSERT INTO @DataToJoin
--DETAILS OMMITTED (sorting, fiddling with data)
SELECT table.col1, table.col2, joined.col3
FROM table
JOIN @DataToJoin joined ON table.x=joined.x
GO
在有人告诉我@ReportType
告诉我们有多少东西需要排序然后加入之前,一切似乎都很好。由于这些数据需要摆弄,因此从一开始就不能简单JOIN
。
如何处理多个JOIN
的问题以返回一个表格?最初我想到了最后一个选择中的WHILE
,它将在其中进行排序和加入,但似乎采用这种方法是行不通的:(然后我想到了另一个将保持连接列的表,但我可以不要声明具有动态列列表的表。
有关此问题的任何想法?任何帮助表示赞赏! :)
答案 0 :(得分:0)
尝试构建动态sql:http://msdn.microsoft.com/en-us/library/ms188001(v=sql.100).aspx 通过这种方式,您可以创建一个包含所有表JOIN的sql,并以您需要的任何方式进行排序。