1
我正在清理我的数据库的斯芬克斯索引,并有一个反复出现的错误,在我正在运行的数据中显着。查找缺少的属性表 - Mysql
为了保持这适用于其他人,我会尽我所能来保持这种概念而不是个人。
我有表属性与数值:1,2,3,4,5 ...等
我有资产的表。 资产与属性具有一对多的关系。
要处理1:N关系,我们有一张表来处理名为asset_items的关系。
每个资产将举行3个属性:1 2 3 &
属性
id | value
___|________
1 | month
2 | day
3 | year
资产
id | owner_id
___|_________
1 | 512
资产项目
一套好的数据会像这个:
id | asset_id | attribute_id | attribute_value
___|__________|______________|_________________
1 | 1 | 1 | March
2 | 1 | 2 | 2
3 | 1 | 3 | 2015
因为我的错误我正在寻找类似缺少2.除息的attribute_id的所有资产的例子:
id | asset_id | attribute_id | attribute_value
____|___________|______________|_________________
45 | 22 | 1 | October
47 | 22 | 3 | 1996
我的SQL迄今:
select *
from asset_items
group by attribute_id
having count(attribute_id = 2) = 0
但不幸的是,这没有任何回报。正确的SQL应该返回> 500行。
它返回更少的行比我期待的,但我相信这是因为我以前清理大多数起来的手动,因为我是贯穿其中。我在阅读时明白你的答案,但我自己从来没有想到过。我非常感谢你的回答,我很高兴你能理解我的例子。 – domdambrogia