sql - 选择记录,直到值重复
问题描述
我有 3 个表(表 1、表 2 和表 3)的层次结构。用户可以从 Table1 中选择一条记录,然后将返回 Table2 中的所有记录,然后从 Table3 中返回,用户将看到 table3 中的记录。我需要将已经从 Table2 的先前记录集中选择的 Table3 中的记录排除在外。
因此,它应该只返回 Table3 中 ProdID 为 1,2 和 3 的 3 个元素加上 table2 的 SortNr(如果重复,则返回 Table2 中的最小值)。Table3 中的示例“Sausage”出现了两次,因此它应该返回 Min T2ID 的 Table2 的 SortNr。
我试过:
ROW_NUMBER() OVER(PARTITION BY t3.T1ID, t3.ProdID ORDER BY t3.T1ID, t3.ProdID > 1
获得我需要但没有成功的记录。
编辑:
Select t3.nProdID,
t3.SortNr as nDetSort,
t3.Name as DetName,
t2.Name,
t2.SortNr,
t3.T2ID,
t2.T1ID,
t1.Name as MenuName,
ROW_NUMBER() OVER(PARTITION BY t3.T1ID, t3.ProdID ORDER BY t3.T1ID, t2.T2ID, t3.ProdID > 1 then 'duplicates' else 'first occurance' end
from Table1 t1,
Table2 t2,
table3 t3
where t1.ID = t2.T1ID and t2.T1ID = t3.T1ID and t2.T2ID = t3.T2ID
我设法通过按顺序添加 t2.T2ID 来获得我想要的记录。但我需要做一件事。对于重复值,我想检查特定列是否具有特定值,如果没有,则从 Table2 中获取具有最小 T2ID 值的最小记录。
解决方案
推荐阅读
- c++ - 如何使用 clang 更快地编译?
- c# - 如何在 mvc html 标签中添加 vue?
- powershell - 如何在powershell中为此输出分配不同的变量?
- python - Plotly:雷达图将 theta 误认为是 int 而不是 string
- python - Python3 记忆游戏无法在表面上粘贴图像
- c++ - 我的刽子手艺术不会以正确的顺序打印
- python - Gurobi 约束违规
- python-3.x - Python - SQLite - 根据元组信息插入值
- php - 使用 PHP 连接到 Oracle 数据库
- python-3.x - 如何从 Dask 中的 zip 文件中读取多个 csv 文件?