where子句条件可以由另一列表示

时间:2012-02-05 05:45:07

标签: sql where

我让用户输入表的where子句的条件。现在我想使用该子句来做select。我怎样才能做到这一点?例如,

Condition table ( ckey, condition)

1   fn like 'G%' and ln like 'B%'

Name table (nkey, fn, ln)

想要查询

select * from Name where ... use condition in row 1 of Condition table .....

3 个答案:

答案 0 :(得分:0)

大多数DBMS支持WHERE中的子查询,包括correlated subquery

没有更多信息很难说,但你可能需要条件表上的(相关?)子查询。

答案 1 :(得分:0)

见下文

accept myID prompt "Enter ID : "
SELECT * FROM myTable WHERE id='&myID'

OR

SELECT * FROM myTable WHERE id= @Enter_ID)

看看哪一个与你合作......

答案 2 :(得分:0)

一种可能的选择是设置条件表以模仿您正在搜索的表。然后你可以简单地在所有字段上加入表格。为了使其正常工作,如果未指定条件,则必须将条件表中的所有列默认为'%'。

如果您的要求过于复杂而无法使用,那么另一种解决方案是使用基于条件表中的内容生成动态SQL的存储过程。