今天遇到個奇怪的問題,下面是出現問題的sql語句(請無視語句效能):
select a.meter_id,a.collect_dt,a.collect_num as collect_num,c.collect_numz,c.collect_numf,c.collect_num,c.collect_xs,d.[user_id]
from b_collect_info_report as a
left join ( select meter_id,collect_numz,collect_numf,collect_num,collect_xs from b_collect_now ) as c on a.meter_id = c.meter_id
left join ( select meter_id,[user_id] from b_user_info ) as d on a.meter_id = d.meter_id
where a.meter_id in (select meter_id from b_collector_info where meter_id in ( '203598','203599','203600' ) )
and collect_dt>='2014-07-06 00:00:00' and collect_dt<='2014-07-06 23:59:59'
這個語句在sqlserver2005management裡面執行是沒有問題的,但是在伺服器上執行,tomcat會報無法繫結由多個部分組成的識別符號a.meter_id,這我就覺得奇怪了,要是兩個地方都報錯還好理解,偏偏只有伺服器報錯。
網上找了一些關於「無法繫結由多個部分組成的識別符號」的問題和解決,卻都是在資料庫裡報的錯。
關鍵是他們的出的錯誤我自己這裡沒找到。
根據看到的網頁,出現「無法繫結由多個部分組成的識別符號」的錯誤,大部分是因為漏寫表名或者在子查詢外使用子查詢內定義的別名。
沒找到辦法,個人感覺和別名有很大關係,於是把別名都改回了原表名,問題到還真解決了,看來別名不能瞎用,得好好研究研究。
下面是查資料過程中看到的**: ,
哪位要是看明白我這是什麼問題,還希望能留個言啊。
無法繫結由多個部分組成的識別符號的解決方法
需要將本地的幾張表增量備份到另乙個伺服器中其中有一句sql是這樣的 insert into dataserver.hrms.dbo.employeetranslate select from employeetranslate where dataserver.hrms.dbo.employeetr...
TNS 無法解析指定的連線識別符號
plsql連不上oracle,報tns 無法解析指定的連線識別符號 解決方法 選擇 開始 程式 oracle configuration and migration tools net manager 在 服務命名 樹結點下新建 服務命名 第一頁 net服務名隨便取 第二頁 使用預設的tcp ip ...
oracle無法解析指定的連線識別符號
oracle資料庫安裝在其他電腦上,自己的電腦上安裝oracle客戶端,這時下面的 可以連上資料庫,把資料匯出來。echo 匯出資料庫資料 set user username exp user password abc file e 資料庫備份 user date db 但是如果再在本機上安裝伺服器...