2013-10-17 70 views
0

我想執行這個命令:SQL命令不會在視覺sudio正常工作 - 甲骨文

SELECT   
    WORKORDERID, 
    (SELECT WORKTYPEID FROM WORK_TYPE v WHERE v.WORKTYPEID = e.WORKTYPE) w 
FROM    
    WORKORDERS e 

它可以在SQL Server和Visual Studio,但是當我要在Oracle執行此命令(我具有相同的表由Visual Studio服務器資源管理器Oracle和SQL Server),我得到這個錯誤:

​​

這顯示正確的數據後,但它並沒有在數據集中工作

+0

我知道TSQL,但是我知道Oracle知道sysntax不完全相同,所以也許你的查詢在pSql中是無效的。 –

回答

1

你不能SPECI fy在要選擇的列內選擇另一個查詢。嘗試使用「加入」來代替。

select e.WORKORDERID, v.WORKTYPEID 
from WORKORDERS e 
join WORK_TYPE v on v.WORKTYPEID =e.WORKTYPE 

這應該有效。

+0

啊,只要查詢返回單個值,那麼在TSQL中有效...... –

+0

當然,如果子查詢返回一行,你也可以。 @BenRobinson和Oracle一模一樣。作者的查詢肯定還有其他問題。檢查這個SQLFiddle:http://sqlfiddle.com/#!4/48569/2 –

+0

是的,這是完全有效的。儘管Oracle不喜歡額外的回車。 –