Oracle SQL技巧
我想在oracle SQL中的SQL查询的where子句中执行以下操作 $p=所有然后在buildingname中从建筑中选择buildingname else buildingname=$pOracle SQL技巧,sql,oracle,Sql,Oracle,我想在oracle SQL中的SQL查询的where子句中执行以下操作 $p=所有然后在buildingname中从建筑中选择buildingname else buildingname=$p 问题是我无法分析这个$p变量,也就是说,我无法检查它包含的内容。听起来你只是想要一个OR条件 SELECT * FROM sometable WHERE ( :bind_variable = 'All' AND buildingname IN (SELECT building
问题是我无法分析这个$p变量,也就是说,我无法检查它包含的内容。听起来你只是想要一个OR条件
SELECT *
FROM sometable
WHERE ( :bind_variable = 'All'
AND buildingname IN (SELECT buildingname
FROM building))
OR buildingname = :bind_variable
听起来你只是想要一个或一个条件
SELECT *
FROM sometable
WHERE ( :bind_variable = 'All'
AND buildingname IN (SELECT buildingname
FROM building))
OR buildingname = :bind_variable
您可以在子查询中使用OR,因此如果$p为“all”,则它可以选择建筑选择或全部选择
buildingname in (Select buildingname from Building WHERE buildingname = $p OR $p = 'All')
您可以在子查询中使用OR,因此如果$p为“all”,则它可以选择建筑选择或全部选择
buildingname in (Select buildingname from Building WHERE buildingname = $p OR $p = 'All')
如果字符串中的变量被它所包含的任何内容替换,则它不是绑定变量,而只是来自PERL或PHP等语言的变量,并在正在构建的select字符串中使用:
$selectstring = "SELECT *
FROM sometable
WHERE ( '$p' = 'All'
AND buildingname IN (SELECT buildingname
FROM building))
OR ( '$p' <> 'All' AND buildingname = '$p'"
如果字符串中的变量被它所包含的任何内容替换,则它不是绑定变量,而只是来自PERL或PHP等语言的变量,并在正在构建的select字符串中使用:
$selectstring = "SELECT *
FROM sometable
WHERE ( '$p' = 'All'
AND buildingname IN (SELECT buildingname
FROM building))
OR ( '$p' <> 'All' AND buildingname = '$p'"
不清楚你在问什么。你是从哪种语言来的,你的$p是什么意思。你能再发一些代码吗?不清楚你在问什么。你是从哪种语言来的,你用$p是什么意思。你能发布更多的代码吗?问题是我不能解析bind变量,这意味着我不能检查它包含的内容,也就是说,我不能这样做:bind_variable='All'@ShitalBumb-没有必要解析bind变量。只需将绑定变量传递到SQL语句中,您需要将其传递两次。问题是我无法解析绑定变量,这意味着我无法检查它是否包含,即,我无法执行以下操作:bind_variable='All'@ShitalBumb-无需解析绑定变量。只需将bind变量传递到SQL语句中,您需要将其传递两次。我不能像这样做$p='都是由于一些约束。我不能像这样做$p='都是由于一些约束