sql查询以查找匹配属性

时间:2016-11-03 00:29:55

标签: sql oracle

我目前正在做一个像易货系统这样的系统。像这样的情况。客户(Jasmine)要求输入' NAME'属性(她必须寻求的)并输入' SEEK'属性(她需要寻求什么)。为了得到结果,' SEEK'属性必须与'姓名'匹配来自其他客户的属性和“SEEK'来自其他客户的属性必须与“有”'匹配。来自Jasmine的属性。

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

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

例如,Jasmine有'姓名'属性耳机和'寻求'属性笔记本电脑和结果应该是这样的。结果应该列出所有可能性(它可能包含多于一行,如果不匹配,则可能得到零结果' NAME' AND' SEEK'属性

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

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

根据评论编辑:

我已尝试使用inner join,但查询结果并非特定于一项交易(意味着结果匹配'有'和' Seek'属性,但有所有匹配的行,而不是选择输入的“具有”属性:

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

1 个答案:

答案 0 :(得分: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'