gpt4 book ai didi

MySQL:多次搜索单个表?

转载 作者:行者123 更新时间:2023-11-30 21:23:53 25 4
gpt4 key购买 nike

我有一个表,其中包含另一个表中条目的元数据。元数据表看起来像这样(我删除了相关的 ID,所以它更明显):


id entry_id property value<br/>
1 12 color blue<br/>
2 12 shape circle<br/>
3 13 color red<br/>
4 13 shape circle<br/>
5 14 color blue<br/>
6 14 shape square<br/>
7 15 material stone<br/>
8 12 material plastic

现在我想在这个表中搜索属性,例如选择所有 colorblue 的条目:

select entry_id from table where property = 'color' and value = 'blue'

到目前为止,还不错。但是当我有多个条件时,如何扩展查询呢?例如,我想搜索所有 colorblueshapecircle 的条目。现在,我将通过工会实现这一目标:

select entry_id from table where property = 'color' and value = 'blue'<br/>
union<br/>
select entry_id from table where property = 'shape' and value = 'circle'

我想要查找的属性越多,这显然会变得越丑。而且我认为它也不是很快。有没有更优雅的方法来做到这一点?使用此表的原因是,我的对象具有可由用户设置的元数据。

谢谢!

最佳答案

这是您要找的吗?

select 
distinct e1.entry_id
from
table e1
inner join
table e2 on e1.entry_id=e2.entry_id
where
e1.property='color' and
e1.value='blue' and
e2.property='shape' and
e2.value='circle'

关于MySQL:多次搜索单个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1277762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com