在使用该会话中使用的所有搜索字词时,在搜索结果集中进行多次搜索。
例如,我有一个表User
(UserId, UserName, UserAddress, UserCity
)
我想要做的是,我想搜索表中的所有列,例如使用用户的名称(这可能会给我一个包含多于1个结果的结果集)。我希望能够使用新的搜索词再次在结果集中搜索(不一定必须在搜索字段中包含第一个搜索词),但这次,它必须在第一个搜索的结果集中搜索。这可能会分解结果集,直到找到所需的内容。
很抱歉,如果我的请求听起来很混乱。我已经尝试过但仍然不知道从哪里开始。我试过谷歌搜索和浏览这个网站,但找不到我真正想要找到的东西。
答案 0 :(得分:2)
我希望能够使用new再次在结果集中进行搜索 搜索词[...],但这一次,它必须在结果集中搜索 第一次搜索。这可能会继续分解结果集直到 找到了所需要的东西。
在我看来,你还没有意识到SQL是一种声明性语言,而不是命令式语言。是的,有存储过程,但这些是SQL的过程扩展,并不会改变SQL本质上是声明性的事实。
因此,除了“分解结果集直到找到所需内容”之外,您一次指定所有条件,并且最好不要求助于存储过程直到您理解为止非过程SQL。
举个例子,使用多个谓词的查询(关于WHERE
子句中指定的所需结果的事实)可能如下所示:
SELECT UserId FROM User
WHERE UserName LIKE 'cook%'
AND UserAddress LIKE 'sesam%'
AND UserCity = 'Hamburg';