我一直负责创建需要从另一个表中引入多达10条记录的视图。问题是这个表可能有0,5,10或更多的相应记录。1到许多SQL连接查看连接表可能有0条记录
这里是很简单的设计,只包括什么是相关
SalesOrderTable OutsideSalesRepTable SalesRepTable
OrderID BranchID SalesRepID
CustID CustID SalesRepName
BranchID SalesRepID
第一个连接需要在BranchID & SalesOrderTable和OutsideSalesRepTable之间的CustID 第二加入需要是OutsideSalesRepTable和SalesRepTable之间的SalesRepID
该视图需要列出列为OutsideSalesRep1,OutsideSalesRep2,... OutsideSalesRep10并填写SalesRepName。我无法控制这个数据库的设计。我宁愿在客户表中看到10个专用于SalesRepID的字段,而只使用左连接。
如果只有3 OutsideSalesReps exsit为分公司/客户比OutsideSalesRep4-10为空
这是165列/ 35+表视图我没能找出的唯一部分。
任何帮助将真诚赞赏。
PS我对TSQL是半新鲜的。只用了大约6个月。
编辑:我链接到一个图像,显示源数据的样本来协助(我希望)解释我在找什么。 数据透视表需要显示
SONum OutsideRep1 OutsideRep2 OutsideRep3 ..... Outside Rep10
5819 59 69 70 null null
5821 59 70 null null null
http://www.bayernsupport.com/SQL.png
你需要一个[支点查询](HTTP://的TechNet 。microsoft.com/en-us/library/ms177410%28v=sql.105%29.aspx),因为您试图将salesrep表中的单个列转换为查询结果中的多个列。 –
所以我尝试了这种方法几种不同的方式,这可能是我的无知,但我不能以我需要的方式得到一个查询枢轴。 我可以得到它枢轴如果我指定SalesRepName或ID在枢轴的“IN”子句中,但我不会知道这些值是什么。 –