首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

应为标识符或带引号的标识符,连接Oracle时的错误

2014-01-28 
我用sqlDataSource控件配置数据源,数据库是Oracle的。请看下面2条语句 1、 SELECT DISTINCT B.YJDM FROM (SEL

我用sqlDataSource控件配置数据源,数据库是Oracle的。请看下面2条语句
1、
SELECT DISTINCT B.YJDM FROM (SELECT ID FROM TBL_SHENHE WHERE SFSHWB='是') A, TBL_DESIGN B WHERE A.ID = B.DESIGNID ORDER BY B.YJDM
2、
SELECT DISTINCT B.YJDM FROM TBL_SHENHE A, TBL_DESIGN B WHERE A.SFSHWB='是' AND A.ID = B.DESIGNID ORDER BY B.YJDM
效果是一模一样的,而且显然语句1要比语句2高效一些。但是,当sqlDataSource的select语句配置为语句1时就不行,提示错误“应为标识符或带引号的标识符”。配置为语句2时就没问题。
这是为什么啊?

------解决方法--------------------------------------------------------
建议你不要这样写SQL,用联合查询比较好,效率高还不容易出错。

SELECT DISTINCT B.YJDM FROM
(SELECT ID FROM TBL_SHENHE WHERE SFSHWB='是') A
inner join TBL_DESIGN B
on  A.ID = B.DESIGNID
ORDER BY B.YJDM
 

        

热点排行