簡體   English   中英

MSSQL / SQL查詢條件錯誤

[英]MSSQL/SQL Query condition error

我的grails控制器上有以下2個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時遇到錯誤,我也不知道為什么。

列名abc存在於table_onetable_two ,我試圖從table_one獲取abc的值,從而cond = 1 ,並將其分配給變量query1。

與QUERY2,我想獲得的值reqtable_two ,其中的價值abctable_two是等於QUERY1的價值。

有什么幫助嗎?

來自query2的錯誤消息:

Message:Unclosed quotation mark after the character string '[abc:5]'.

為什么不使用類似以下查詢的內容:

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

像這樣聯接表可以使您在一個查詢中執行查詢,這通常既更高效又更正確(即,數據庫表在兩個查詢之間不會改變)。

您使用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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM