簡體   English   中英

通過C#中的標簽在數據庫中搜索數據

[英]Search data in database via tags in c#

我的數據庫中有此電影列表。 我想使用他們的標簽搜索一些電影。

例如:

  • 恐怖電影I-標簽為“恐怖,喜劇,恐怖電影,鬼魂”
  • Saw III-標簽為“恐怖,鋸”
  • 鬼屋的標簽是“恐怖,鬼魂” *等。

當我搜索"ghosts" ,結果應返回到恐怖電影I鬼屋等(返回具有相同標簽的電影列表)

"SELECT movie_name FROM table_movie WHERE tags = " + movie_tags + ";"

您應該從數據庫架構開始。 作為文本注釋的標簽是錯誤的決定,數據庫將無法規范化並且搜索效率低下。

制作三個表,如下所示:

Tag(tagID primaryKey, tagName)    
Movie(movieID primaryKey, movieName)
TagMovie(tagID foreignKey, movieID foreingKey)

不要忘記對(tagID,movieID)的唯一約束-將元組作為主鍵,您就完成了。

然后您可以像搜索

SELECT Movie.* FROM Movie 
JOIN TagMovie ON Movie.movieID = TagMovie.movieID
JOIN Tag ON Tag.tagID = TagMovie.tagID
WHERE Tag.tagName = "ghosts"

根據您所提出的問題,您的解決方案將是:

您需要編寫一個字符串,該字符串最終將類似於以下查詢語句

SELECT movie_name FROM table_movie WHERE tags like '%ghosts%'

盡管您使用的方法效率不高。 您應該更改您的結構。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM