【发布时间】:2019-01-17 13:22:00
【问题描述】:
我是 SQL 新手。我正在为我的项目使用 SSRS(报告服务)。
第一个联合查询总是有 1 行。第二个联合查询将有 1 行或更多行。
而且我想始终在第一行进行第一个联合查询。
这是我的 SAMPLE 联合查询:
SELECT DISTINCT
R.TransactionPeriod as 'Transaction_Period'
PQ.MedicalPaid as 'Medical_Paid'
PQ.InsurancePaid as 'Insurance_Paid'
FROM dbo.Medicals PQ
JOIN dbo.Transaction R ON R.Pid = PQ.Pid
UNION
SELECT DISTINCT
R.TransactionPeriod as 'Transaction_Period'
TQ.MedicalPaid as 'Medical_Paid'
TQ.InsurancePaid as 'Insurance_Paid'
FROM dbo.Bills TQ
JOIN dbo.Transaction R ON R.Pid = TQ.Pid
注意:这只是一个SAMPLE查询。我的第一个查询是一个非常大的查询。但我想通过一个简单的查询来理解这一点
【问题讨论】:
-
我肯定会尝试以一种消除“不同”的方式运行它。这通常会更慢并且提供许多人忘记的结果。 Distinct 通常是获取唯一数据的“懒惰方式”的标志,而不是真正具体定义什么是唯一的。
-
一个示例而不是 DISTINCT 将是 SELECT DISTINCT R.TransactionPeriod as 'Transaction_Period' PQ.MedicalPaid as 'Medical_Paid' PQ.InsurancePaid as 'Insurance_Paid' FROM dbo.Medicals PQ JOIN dbo.Transaction R ON R .Pid = R.TransactionPeriod、PQ.MedicalPaid、PQ.InsurancePaid 的 PQ.Pid 组
标签: sql sql-server tsql reporting-services