sql - 是否可以隐藏所有重复数据行?
问题描述
我正在使用我创建的 SQL 存储参数构建报告。它提取每个唯一编号可能有 1 行或每个唯一编号有 2 行的数据。我只想显示只有 1 行的行。
我试过改变能见度,但我最接近的是
=IIF(Fields!uniquenumber.Value = previous(Fields!uniquenumber.value,True,False)
但这隐藏了其中的 1 行,而不是两者。我也尝试在查询中使用 CASE WHEN 来识别是否有超过 1 行,但是当有超过 1 行时我仍然无法隐藏。我的查询如下(编辑了很多与我的问题无关的额外标准。在很多情况下,我的 WHERE 语句的第一部分的数据也符合第二部分的标准。
SELECT
Reorders.LastRxNo,
Reorders_1.LastRxNo AS Reorders1LastRxNo,
Rxs_2.RxBatch AS Rxs2RxBatch,
Reorders.FacID,
KeyIdentifiers.GPI,
Reorders.LastFillDt,
Rxs_1.RxBatch as Rxs1RxBatch,
CASE
WHEN (Reorders.LastRxNo<>Reorders_1.LastRxNo) THEN 1
ELSE 0
END AS Duplicate
FROM Reorders
LEFT OUTER JOIN Rxs AS Rxs_1
ON Reorders.LastRXNo = Rxs_1.RxNo
RIGHT OUTER JOIN KeyIdentifiers
ON Reorders.NDC = KeyIdentifiers.NDC
INNER JOIN Patients
ON Reorders.FacID = Patients.FacID
AND Reorders.PatID = Patients.PatID
LEFT OUTER JOIN Reorders AS Reorders_1
ON Reorders.FacID = Reorders_1.FacID
AND Reorders.PatID = Reorders_1.PatID
AND KeyIdentifiers.NDC = Reorders_1.NDC
LEFT OUTER JOIN Rxs AS Rxs_2
ON Reorders_1.LastRxNo = Rxs_2.RxNo
WHERE
Reorders.ProfileOnly = 1
AND Rxs_1.RxBatch IS NULL
AND Reorders.CutOffDt IS NULL
AND Reorders.PackType LIKE 'PHDEF%'
AND Reorders.Auto = 1
AND Reorders.PhRxStatus IS NULL
AND Reorders.LastFillDt > '01/01/2019'
AND (Reorders.LastRxNo = Reorders_1.LastRxNo
OR Reorders.LastRxNo <> Reorders_1.LastRxNo AND Rxs_2.RxBatch IN ('CF','GONE'))
ORDER BY Reorders.FacID, Patients.PatLName, Patients.PatFName
产生的结果类似于:
LastRxNo Reorders1LastRxNo Rxs2RxBatch Duplicate
111 111 null 0
222 222 null 0
222 444 CF 1
在上面的例子中,我只需要看到像第 1 行这样的行。由于“LastRxNo”222 有 2 行,我不想在我的最终报告中看到它。(但是,它被查询了,因为当 LastRxNo =222 AND Reorders1LastRxNo = 222 和 Rxs2RxBatch IS NULL 时,如果我没有在 WHERE 语句中考虑它,我想。我很高兴以任何可能的方式这样做,无论是在查询或 SSRS 报告中。
解决方案
将您的 CASE ... 替换为重复
COUNT(*) OVER(PARTITION BY LastRxNo) AS LastRxNoCount
然后
将整个查询包装在另一个这样的选择中......
SELECT * FROM
(
your original query here including the change stated above
) q
WHERE q.LastRxNoCount =1
推荐阅读
- c++ - 使用的目的是什么?和:在下面的代码中
- java - 如何获取其中包含多个 JSONObject 的数据
- c++ - GFG上金矿问题的记忆方法
- react-native-ios - 错误:main.jsbundle 不存在。反应原生版本 0.58.5
- c++ - 将剪贴板内容粘贴到窗口
- python-3.x - 使用天文学家图像安装 Docker 气流的 g++ 错误
- ios - Swift Widget:带有完成处理程序的 getTimeline
- python - 如何使用 python3 通过 GET 请求获取特定资源?
- tensorflow - 使用 Keras 或 TF 模型进行异步预测/推断?
- azure - Azure DevOps 管道失败:序列不是预期的