2014-02-14 88 views
0

使用ColdFusion Server Enterprise 9,0,1,274733。Q行爲的Q不一致

有沒有人見過這個?以下代碼無誤地執行。

<cfquery name="x" datasource="dw"> 
select event_code, event_name 
from event 
</cfquery> 

<cfquery name="y" dbtype="query"> 
select event_code || event_name fred 
, event_code 
from x 
</cfquery> 

需要注意的兩件事是我聲明瞭別名而不使用關鍵字「as」,並且我使用了||。連接字符串。但是,如果我有資格第一個事件代碼,如下所示:

<cfquery name="y" dbtype="query"> 
select x.event_code || event_name fred 
, event_code 
from x 
</cfquery> 

我得到

查詢查詢語法錯誤。

遇到「錯誤的選擇列表,錯誤的選擇列,x.event_code不能跟隨'||'

有一個類似的錯誤,如果我試圖聲明一個別名無關鍵字「作爲」。

手頭的任務,我可以找出該怎麼做,但我很好奇,如果同樣的事情發生在那些你在第10版?

編輯從這裏開始

閱讀的評論後,我試圖括號中。這將運行沒有錯誤。

<cfquery name="y" dbtype="query"> 
select (x.event_code || event_name) fred 
, event_code 
from x 
</cfquery> 
+0

同樣的事情發生在CF10但Railo 4的作品,但你可以做'選擇A + B AS中的ColdFusion 10 test' –

+0

聽起來一個錯誤。它可以在CF9下工作,如果你把它們都括在括號中,即'select x.event_code || x.event_name)AS fred ...'。 @MattBusche - 你可以看到CF10也是如此嗎?我沒有接近CF10安裝。 – Leigh

+0

@Leigh封閉在'()'CF10中工作 –

回答

3

您必須包裝在()您的語句使其正常工作

SELECT (x.event_code || event_name) fred 
+0

第一個示例會拋出類似的錯誤。 –

+0

啊,當我測試時我完全忽略'x.',所以看起來像@Leigh你的答案確實是唯一正確的答案,對不起 –

+0

啊,不用擔心。我不想寫一個答案。這是更多的好奇心練習:) – Leigh