gpt4 book ai didi

c# - 具有多个标签的唯一结果的搜索算法

转载 作者:太空宇宙 更新时间:2023-11-03 18:28:02 25 4
gpt4 key购买 nike

我在 sql server 中有三个表-

Photos table:

----------------------
| PhotoId | PhotoName|
----------------------
| | |
----------------------

Tags table:

----------------------
| TagId | TagName|
----------------------
| | |
----------------------

Junction table:

----------------------
| PhotoId | TagId |
----------------------
| | |
----------------------

一张照片可以有多个标签,一个标签可以属于多张照片。

现在,例如 Eagle 有标签 Bird、Animal、Wild。我想使用标签 Domestic, Bird, Animal 进行搜索。我正在使用 sql 语句 where TagName='Domestic' OR TagName='Bird' OR TagName='Animal'。问题是,它会生成 Eagle 出现两次的查询结果。

但我只想拥有 Eagle 一次。有什么想法吗?

最佳答案

SELECT p.*
FROM photos p
WHERE EXISTS ( SELECT 'a'
FROM junction j
JOIN tags t ON t.TagId = j.TagId
WHERE p.PhotoId = j.PhotoId
AND t.TagName IN ('Domestic', 'Bird', 'Animal')
)

关于c# - 具有多个标签的唯一结果的搜索算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29365872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com