我目前正在做一个类似易货系统的系统。像这样的情况。客户 (Jasmine) 需要输入“NAME”属性(她要查找的内容)并输入“SEEK”属性(她需要查找的内容)。为了获得结果,“SEEK”属性必须与其他客户的“Name”属性匹配,而其他客户的“SEEK”属性必须与 Jasmine 的“HAVE”属性匹配。
例如我有表项(已经在数据库中)
|ITEMSID|NAME |SEEK |USERID|
|A01 |printer|laptop |A1 |
|A45 |laptop |headphone|A2 |
|AY3 |laptop |headphone|A3 |
例如 Jasmine 有 'Name' 属性耳机和 'Seek' 属性笔记本电脑,结果应该是这样的。结果应该列出所有可能性(它可能包含不止一行取决于,如果'NAME'和'SEEK'属性之间不匹配,它可能会得到零结果
|ITEMSID|NAME |SEEK |USERID|
|AY3 |laptop |headphone|A3 |
|A45 |laptop |headphone|A2 |
谢谢你帮助我。我正在使用 jsp 开发的系统 p/s: 我是 stackoverflow 的新用户。
根据评论编辑:
我已经尝试过使用 inner join
但查询结果不是特定于一个事务(意思是“Have”和“Seek”属性之间的结果匹配,但有所有匹配的行而不是选择正在输入的“有”属性):
SELECT a.NAME, a.seek,a.ITEMSID
FROM items a
JOIN items b ON a.NAME = b.seek AND b.NAME = a.seek
最佳答案
根据您尝试过的查询,如果我正确理解了您的请求(不确定我是否理解),那么您所缺少的只是用于输入的 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'
关于sql 查询以查找匹配属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40391966/