MSSQL / SQL查询条件错误

时间:2012-10-23 02:05:39

标签: sql grails-2.0 grails-controller

我的grails控制器上有以下两个SQL查询:

def query1 = sql.rows("select abc from table_one where cond = 1")

query1的返回结果为我提供了[{abc=5}]

def query2 = sql.rows("select req from table_two where abc = " +query1)

我在尝试运行query2时出错,我不明白为什么。

abctable_one中都存在列名table_two,我正在尝试从abc获取table_one的值,其中{{1} },并将其分配给变量query1。

并且使用query2,我尝试从cond = 1获取req的值,其中table_twoabc的值等于query1的值。

对此有何帮助?

来自query2的错误消息:

table_two

2 个答案:

答案 0 :(得分:1)

为什么不使用类似以下查询的内容:

select  table_two.req
  from  table_one,
        table_two
 where  table_one.cond = 1
   and  table_one.abc  = table_two.abc

像这样加入表允许你在一个查询中完成它,这通常更高效,更正确(即数据库表在两个查询之间不会改变)。

答案 1 :(得分:0)

您使用INNER JOIN

加入表格
select  b.req
from    table_one a
        INNER JOIN table_two b
            ON a.abc = b.abc
where   a.cond = 1

以下语法为ANSI SQL-92