【问题标题】:SQL Query Search fetch from same table filtering by statusSQL Query Search 从同一个表中获取按状态过滤
【发布时间】:2014-02-03 15:34:01
【问题描述】:

好吧...查询是,
我有一张桌子:Website_Articles

Article, Id, Author, PublishedOn, ArticleName 是用于存储不同页面数据的常用槽。它通过提供状态 ID 来区分。 (例如:附加图片)

我想要实现的是在使用搜索查询时,我只想通过提到的状态 ID 过滤来自特定列的结果数据,或者搜索结果不应该来自提到的状态 ID。 (两种方式都可以)
我正确的命令是这个....

SELECT SUBSTRING(Article, 0, CHARINDEX(' ', Article, 300)) + '...' 
AS Article, Id, Author, PublishedOn, ArticleName 
FROM Website_Articles 
WHERE (Article LIKE '%' + @Article + '%') or 
(ArticleName LIKE '%' + @ArticleName + '%' ) 

但这会带出Website_Articles的所有内容

任何帮助将不胜感激。 谢谢。

【问题讨论】:

  • 您对mysql或sql-server有疑问吗?
  • 读了几遍,仍然不能准确地知道你在问什么。是不是一篇文章可以有多个不同状态的行,如果任何一行都满足过滤器,您只想返回一行?
  • 谢谢,但@BWS 的回答让我朝着正确的方向前进。

标签: mysql asp.net sql sql-server


【解决方案1】:

这就是你要找的吗??

SELECT SUBSTRING(Article, 0, CHARINDEX(' ', Article, 300)) + '...' 
AS Article, Id, Author, PublishedOn, ArticleName 
FROM Website_Articles 
WHERE Status = 'Menu' AND
  ((Article LIKE '%' + @Article + '%') or 
   (ArticleName LIKE '%' + @ArticleName + '%' ))

SELECT SUBSTRING(Article, 0, CHARINDEX(' ', Article, 300)) + '...' 
AS Article, Id, Author, PublishedOn, ArticleName 
FROM Website_Articles 
WHERE Status <> 'Menu' AND
  ((Article LIKE '%' + @Article + '%') or 
   (ArticleName LIKE '%' + @ArticleName + '%' ))

【讨论】:

  • 是的......正是我想要的。谢谢你。如果我想添加另一个状态 ID 与 WHERE Status 'Menu' 一起遗漏,我该怎么做
  • 可以像这样简单地添加:WHERE Status 'Menu' AND St​​atus 'somethingelse' AND
  • 你能帮我解决这个问题吗?假设我想使用网格视图上的状态从多个列中提取数据。我应该添加什么? SelectCommand="SELECT * FROM [Website_Articles] where Status='Menu' ORDER BY [Id] DESC 这不适用于搜索结果....查看网格表的这个小提琴:@987654321 @
  • 你应该作为一个新问题发布...我有一个忙碌的一天,今天不会在这个网站上花费太多时间...
  • 好的..我会这样做的。谢谢agn
猜你喜欢
  • 1970-01-01
  • 2021-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-20
  • 1970-01-01
  • 2010-11-22
  • 1970-01-01
相关资源
最近更新 更多