我有几个界面元素存储在数据库表中,用户可以通过输入关键字进行过滤(存储在另一个表中):
表格按钮:
ID Name
1 Button1
2 Button2
3 Button3
表关键字:
ButtonID Keyword
1 Garden
2 House
3 Garden
3 House
如果用户输入Garden
,则数据库返回Button1 and Button3
。
如果用户输入House
,则数据库返回Button2 and Button3
。
如果用户输入Garden AND House
,则 db 仅返回Button3
。
最后一个是问题,我设法把这个查询放在一起:
SELECT T.ID, T.Name
, T.Type
, T.Description
, T.Action
, T.Image
FROM Tiles T
JOIN Keywords K
ON T.ID=K.TileID
WHERE K.Keyword IN ('House', 'Garden')
不幸的是,此查询返回所有三个按钮以及任何提供的关键字。但我只想要所有提供的关键字的元素,即Button3
. 查询应该是什么样子才能实现这一目标?
非常感谢 :)