一尘不染

sql查询以找到匹配属性

sql

我目前正在做类似物物交换系统的系统。这样的情况。客户(茉莉花)需要输入“ NAME”属性(她必须寻找的内容)并输入“
SEEK”属性(她需要寻找的内容)。为了获得结果,“ SEEK”属性必须与其他客户的“名称”属性匹配,而其他客户的“ SEEK”属性必须与Jasmine的“
HAVE”属性匹配。

例如我有表项(已经在数据库中)

|ITEMSID|NAME   |SEEK     |USERID|
|A01    |printer|laptop   |A1    |
|A45    |laptop |headphone|A2    |
|AY3    |laptop |headphone|A3    |

例如,茉莉花具有“名称”属性的耳机和“搜索”属性的笔记本电脑,其结果应如下所示。结果应列出所有可能性(它可能包含多个行依赖项,并且如果’NAME’和’SEEK’属性之间不匹配,则结果可能为零。

|ITEMSID|NAME   |SEEK     |USERID|
|AY3    |laptop |headphone|A3    |
|A45    |laptop |headphone|A2    |

感谢你们对我的帮助。我正在使用jsp p / s开发的系统:我是stackoverflow中的新用户。

根据评论进行编辑:

我已经尝试使用an,innerjoin但是查询结果不是特定于一个事务的(意思是’Have’和’Seek’属性之间的结果匹配,但是具有所有匹配的行,而不是选择要输入的’Have’属性):

SELECT a.NAME, a.seek,a.ITEMSID 
FROM items a 
JOIN items b ON a.NAME = b.seek AND b.NAME = a.seek

阅读 194

收藏
2021-03-08

共1个答案

一尘不染

根据您尝试过的查询,如果我正确理解了您的请求(不确定我知道),那么您所缺少的只是WHERE输入的子句。

SELECT a.name, a.seek, a.ITEMSID 
FROM items a 
JOIN items b 
  ON a.name = b.seek 
  AND b.name = a.seek
WHERE a.name = 'input here'
2021-03-08