我得到t.ev_no一個Oracle無效的標識符錯誤我內心的查詢甲骨文無效的標識符錯誤
首先在where子句中,讓我解釋一下我的表結構和查詢的目的。我有一個具有以下列
- ev_no
- ev_name
- ev_address1
- ev_address2
- ev_address3
- ev_city
- ev_state
- ev_zip
- payment_addre的表名爲供應商SS
- ev_mwbe
我顯示在一個gridview這一信息,但該地址是其由地址1,地址,地址3,城市,州和拉鍊上每個單獨的線的單個列。如果任何這些列都是NULL,那麼我必須跳過換行符。因此,內部查詢與案件,照顧這一點。
問題在於,oracle無法識別內部查詢的where子句中的t.ev_no。我的查詢如下
select t.ev_no,
t.ev_type,
t.ev_name,
(select ADD1 || ADD2 || ADD3 || CITY || STATE || ZIP
from (select CASE
WHEN ev_address1 is NULL then
''
ELSE
ev_address1 || '<br>'
END AS "ADD1",
CASE
WHEN ev_address2 is NULL then
''
ELSE
ev_address2 || '<br>'
END AS "ADD2",
CASE
WHEN ev_address3 is NULL then
''
ELSE
ev_address3 || '<br>'
END AS "ADD3",
CASE
WHEN ev_city is NULL then
''
ELSE
ev_city || '<br>'
END AS "CITY",
CASE
WHEN ev_state is NULL then
''
ELSE
ev_state || '<br>'
END AS "STATE",
CASE
WHEN ev_zip is NULL then
''
ELSE
ev_zip || '<br>'
END AS "ZIP"
from vendor where ev_no = t.ev_no)) as "ADDRESS",
t.ev_state,
t.ev_city,
t.payment_address,
t.ev_mwbe
from vendor t
where UPPER(ev_city) like :city
order by t.ev_state, t.ev_city, t.ev_name
請讓我知道如何糾正錯誤。
感謝
謝謝。你的查詢比我的可讀性好得多。我喜歡。唯一的問題是你的連接部分中由於'AS'導致「Missing Keyword」錯誤,即「加入地址查詢AS a」。如果我擺脫它然後它工作正常。感謝解決方案 –
@Coder是我的[tag:sql-server]習慣,把'AS' keaword – 2014-03-26 16:54:14