读书人

急HQL施用OR语句部分内容没有被执行

发布时间: 2013-08-14 14:27:55 作者: rapoo

急:HQL使用OR语句,部分内容没有被执行

 SELECT
*
FROM
MMZW.READ_DOCUMENT readdocume0_,
MMZW.OADOCUMENT oadocument1_
WHERE
readdocume0_.DOCUMENT_ID=oadocument1_.ID
AND readdocume0_.ADD_USER_ID='9318898d39c4abb10139d8394db00037'
AND (
readdocume0_.FLOW_ID LIKE '%11%' -- 这个没有执行
OR oadocument1_.FLOWID LIKE '%11%'
)


[解决办法]
原来是这样呀,你一个表关联了另一个表,比如如这样 有atable,btable两张表,b表里有a表的的id这样写就ok了呀
select a from atalbe a ,btable b where b.atableId=a.id and a.id=?1 就行了呀
[解决办法]
引用:
Quote: 引用:

SELECT
????????*
????FROM
????????MMZW.READ_DOCUMENT?readdocume0_,
????????MMZW.OADOCUMENT?oadocument1_?
????WHERE
????????readdocume0_.DOCUMENT_ID=oadocument1_.ID?
????????AND?readdocume0_.ADD_USER_ID='9318898d39c4abb10139d8394db00037'?
AND readdocume0_.FLOW_ID LIKE '%11%'

这样子,查一下有结果吗。没有就是真的没有,不是你语句问题

我刚也发现了,使用这个方法也查询不出数据,但是
    SELECT
*
FROM
MMZW.READ_DOCUMENT readdocume0_
WHERE
readdocume0_.ADD_USER_ID='9318898d39c4abb10139d8394db00037'
AND readdocume0_.FLOW_ID LIKE '%11%'

如果是这样查询的话,可以查询出数据

这你还能不懂啊,你确定一下前后条件差别。readdocume0_.DOCUMENT_ID=oadocument1_.ID?还要在这两个相等的情况下的哇

SELECT
*
FROM
MMZW.READ_DOCUMENT readdocume0_,
MMZW.OADOCUMENT oadocument1_
WHERE
readdocume0_.DOCUMENT_ID=oadocument1_.ID
AND readdocume0_.ADD_USER_ID='9318898d39c4abb10139d8394db00037'
那你再试下这个咯,有数据的话,你就找找看有没有9318898d39c4abb10139d8394db00037这个ID的。所以总结就是没有任何错误,只是你理解上漏了

读书人网 >Java Web开发

热点推荐