我需要以键值对的形式在数据库(mySQL)中存储一些项目及其属性。我正计划如下。
我将使用两个表items
和item_properties
。
items
itemId | 项目名称
-------------------
1923年| 交流电
1235 | 冰箱
8273 | 电暖器
item_properties
itemId | 物业| 值
--------------------------------
1923年| 效果| 冷却
1923年| 消费 有效率的
1923年| 类型 分裂
1235 | 效果| 冷却
1235 | 数量 20升
8273 | 效果| 加热
8273 | 消费 有效率的
8273 | heatMethod | 线圈
现在,如果我必须选择“效果”为“冷却”的项目,则可以使用以下查询进行操作(结果将为我提供“ AC”和“冰箱”)。
从项目i,item_properties p中选择itemName
在哪里i.itemId = p.itemId
AND(p.property ='effect'AND p.value ='cooling');
我想知道如何编写查询以选择与多个属性匹配的项目,例如
请帮助…预先感谢!
这是查询示例:
SELECT
itemName
FROM
items i,
JOIN
item_properties effect
ON i.itemId = effect.itemId AND effect.property = 'effect'
JOIN
item_properties consumption
ON i.itemId = consumption.itemId AND consumption.property = 'consumption'
WHERE effect.value = 'cooling' AND consumption.value = 'efficient';
我将把oR
查询留给您自己尝试的东西。它只是增加更多的表格和使用OR
,而不是AND
在WHERE
。
我有两张调查表。表1包含以下字段发送的调查:SID、SalesRep、位置。表2包含用以下字段返回的调查结果:RID、SID、QID、AID。 在表1中,SID是唯一的,没有重复项。在表2中,RID是唯一的,并且表示被回答的每个问题和答案。表2中的SID代表了回答问题的调查。因此,如果调查中回答了10个问题,表2中将有10行具有相同的SID。 我需要做的是找出每个销售人员已经发送了多少份调查,采取
我现在在大学学习数据库,在我的项目中,我有3个表:、和 联赛(leagueId,leagueName) 团队(teamId,teamName) 具有(leagueId,teamId,year)
问题内容: 我正在运行此查询 但这不是我想要的结果,它返回多行。 我的一张桌子看起来像这个名字: 另一个表看起来像这个名字: 我如何使其选择查询,以便可以从两个表中获取与之相关的所有值,并使它看起来像这样 所需的输出: 谢谢!(提前!) 问题答案: 为您提供所需的输出(但这并不灵活,因此,如果添加要输出的更多详细信息,将无法进行更改而不进行更改):-
问题内容: 我有桌子: 我想写一个返回BookName,FirstName,LastName,RubricName的SELECT查询。 我有两个单独的查询,但我不知道如何在一个选择中编写此查询。这就是我得到的: 它工作正常,但如何在一个选择中编写? 我尝试这样做,但是不起作用: 它返回错误: 问题答案: 试试这个查询
我试图从获取数据。总共有9个表格,我必须相应地从所有表格中显示产品列表。 我考虑过使用连接,并尝试了左连接,如下所示: 这里是主表,pid是从tbl2到tbl9的所有表的。 注意:这里我在所有表上使用了来避免长查询,但是在实际的数据库操作中,只提到特定的列来提高性能。 现在实际的问题是,我没有得到所有的记录从表使用左加入。只检索中对应的每个条目的最后一行。 我使用了GROUP BY来避免重复的左连
我有一个表,其中有多个条目对应一个FK。我想找出没有某些条目的FK值,例如 我的表有以下条目。 现在,我想从这个表中过滤所有没有ab3或ab4的FK。当然,我期望不同的值,即在这种情况下,结果将是FK=100和200。 我使用的查询是 当然,此查询不会获取所需的结果。