【发布时间】:2012-03-26 19:46:15
【问题描述】:
我查看了类似的问题,但找不到特定问题的答案。我正在使用 SQL Server 2008(SQL Server Management Studio 中的 T-SQL)(但更习惯于 Oracle 和 Crystal Reports)。
简化场景:
表客户
customerID (pk)...
表格InsuranceCoverage
customerID (composite pk)
line (composite pk)
insCompanyID (fk)
insPlanID (fk)
表格InsuranceCompany
insCompanyID
insCompanyName
insCompanyAddr
表格InsurancePlan
insPlanID
insPlanName
insPlanClass
我需要一份基本上在一行上返回以下内容的报告:
- 来自
Customer的几列 - Insurance 1 - InsuranceCompany 和 InsurancePlan 表中 InsuranceCoverage.line = 1 的列
- Insurance 2 - InsuranceCompany 和 InsurancePlan 表中 InsuranceCoverage.line = 2 的列
- Insurance 3 - InsuranceCompany 和 InsurancePlan 表中 InsuranceCoverage.line = 3 的列
我觉得自己很愚蠢,无法弄清楚这一点。一位客户最多可能拥有三份保险。这很容易为其编写多个查询,但我必须对其进行设置,以便它可以每月自动运行 1 次。我之前通过在连接上使用别名在同一个报告中多次使用同一个表,但是由于 InsuranceCoverage.line 标准,这在这里不起作用,对吧? from 子句中的子查询是答案吗?
【问题讨论】:
标签: sql-server tsql subquery