您好,我最近刚开始担任软件工程师,所以这个问题可能太过于讨论,但请耐心等待。
我有三个栏目,比方说水果,颜色,味道。
水果可以有很多颜色和味道。但是一种具有特定颜色的水果应该具有相同的味道。例如,(苹果,红色)应该只有一种味道。 (苹果,红,酸)和(苹果,红,甜)不能一起存在。
我遇到的问题是我的桌子包含多个具有相同水果和颜色的重复味道。我尝试了不同的连接但得到了错误的结果。
很抱歉这么糟糕的描述,但如果有人能理解并帮助我,我真的很感激。
答案 0 :(得分:0)
使用row_number()
功能
select * from (select *,
row_number() over (partition by fruit, taste order by fruit) Seq
from table t) t
where Seq > 1;
通过这个你找到了Seq nos> 1,如果水果有重复的味道,你可以过滤它们&使用subquery
delete
法规
delete t
from (select *,
row_number() over (partition by fruit, taste order by fruit) Seq
from table t) t
where Seq > 1;
$AccessApp= New-Object -ComObject 'Access.Application'
$AccessApp.OpenCurrentDatabase($database)
$AccessApp.Application.SetOption("Track Name AutoCorrect Info", $true)
$QryDependency = $AccessApp.Application.CurrentData.AllQueries.Item($query.Name).GetDependencyInfo()
ForEach($di in $QryDependency.Dependencies)
{
$QryObjects= $QryObjects + $di.Name +","
}
答案 1 :(得分:0)
要找到具有相同颜色的多种口味的水果:
select fruit
from fruit
group by
fruit
, color
having count(distinct taste) > 1
列出与这些水果相关的所有行:
select *
from (
select count(*) over (partition by fruit, color) cnt
, *
from fruits
group by
fruit
, color
, taste
) sub
where cnt > 1
答案 2 :(得分:0)
在水果上加上PK或唯一约束,颜色
select *
from (select *, count(*) over (partition by fruit, color) as cnt
from table
) t
where t.cnt > 1
order by fruit, color