所以,你有三個人...
declare @persons table (id int identity(1,1), name varchar(10))
insert @persons (name) values ('Babs'),('Ken'),('Neville'),('Sue')
巴布斯具有A和B,肯A和C ,內維爾只有B而蘇只有C
declare @personkeywords table (personid int, keyword varchar(5))
insert @personkeywords values (1,'a'),(1,'b'),(2,'a'),(2,'c'),(3,'b'),(4,'c')
的搜索是A或C
declare @searchkeywords table (searchid int, keyword varchar(5))
insert @searchkeywords values (1,'a'),(1,'c')
所以......
select distinct persons.*
from @persons persons
inner join @personkeywords personkeywords on persons.id = personkeywords.personid
inner join @searchkeywords searchkeywords on personkeywords.keyword = searchkeywords.keyword
where
searchkeywords.searchid = 1
給人
1 Babs
2 Ken
4 Sue
我覺得有點難以理解。是否可以顯示數據庫結構的圖像或類似的東西? – Mr47
我瞭解這些關係,但是您想查詢哪張表?你想要一個「搜索」或「人」的列表嗎? – Spikeh
這最好通過包含一些示例數據和您期望的結果來描述。 – MatBailie