日期:2014-05-17  浏览次数:20733 次

oracel中的or模式的sql语句该怎么写?
oracle 中:
select DASHBOARD_CRITERIAS.CRITERIA_ID from DASHBOARD_CRITERIAS where DASHBOARD_CRITERIAS.CRITERIA_NAME='changtian2' or DASHBOARD_CRITERIAS.CRITERIA_PARAM='123'

这条语句老是报只能查询到(DASHBOARD_CRITERIAS.CRITERIA_NAME='changtian2)的一半,而另一半(DASHBOARD_CRITERIAS.CRITERIA_PARAM='123')确查不到,这是为什么?
我的愿意是只要是CRITERIA_NAME为changtian2的或者是CRITERIA_PARAM为123的结果的记录的id都都找出来。结果试下了半天,也不好使用,而且
select DASHBOARD_CRITERIAS.CRITERIA_ID from DASHBOARD_CRITERIAS where (DASHBOARD_CRITERIAS.CRITERIA_NAME='changtian2' or DASHBOARD_CRITERIAS.CRITERIA_PARAM='123')
这样写法好像也不行哦?

我的环境是myeclipse自带数据库客户端工具下测试过的(oracle是10G)。

------解决方案--------------------
这样没有问题啊,建议你先执行这一句看能不能出来正确的数据。
select DASHBOARD_CRITERIAS.CRITERIA_ID from DASHBOARD_CRITERIAS where DASHBOARD_CRITERIAS.CRITERIA_PARAM='123' 
如果不行的话你就要确认字段是否弄错了~~

------解决方案--------------------
是啊,写法没问题,检查检查数据
------解决方案--------------------
是不是数据里没有符合"DASHBOARD_CRITERIAS.CRITERIA_PARAM='123'"这个条件的