2013-04-19 2 views
2

아래 주어진 SQL 쿼리와 비슷한 jdoQL에 "IN"절 쿼리를 작성하고 싶습니다.jdoQL에 IN 절 쿼리를 작성하는 방법은 무엇입니까?

SELECT salary FROM employee where empId IN (1021,2013,9872);

내 목표는 내가 내가 "IN"절 내에서 제공 될 수와 JDOQL에있는 이메일 주소의 각각에 해당하는 SMTP 메일 주소를 얻을 필요가 이메일 addressess의 목록을 가지고있다 .

나를 도와 줄 수 있습니까? 다른 해결 방법이 있습니까?

사전에 도움을 주셔서 감사합니다.

+0

당신은 무엇을 시도

그런 식으로 뭔가를해야합니다? 당신은 JDOQL이 기본적으로 자바 구문이라는 것을 알고 있습니다. 그렇다면 자바 메소드에서 어떻게 할 것입니까? – DataNucleus

답변

1

체크 this page. 어느 것이 this one과 매우 흡사합니다. empIdList.contains(empId)

empIdList는이 List<Integer>에 전달

가 : query.execute(Arrays.asList(1,2,3));

+0

이 방법으로 시도했습니다. 문자열 쿼리 = "SELECT smtpMailAddress FROM"+ UserDetails.class.getName() + "where emailAddress == '[email protected]'|| emailAddress== '[email protected] '| | emailAddress== '[email protected]' "; 하지만이 주소는 3 개가 아니라 2 개의 주소에서 작동합니다! muhammad가 귀하의 방법을 시도 할 것입니다. – Papps

+0

나는 그것이 작동한다는 것을 알게되어 기쁩니다. –

+0

@MuhammadGelbana 당신의 방법을 사용하려했지만 DataNucleus가 param을'List' 타입으로 처리하는 것을 지원하지 않는 것으로 보입니다. 여기에 내 코드가있다 :'condition = "idList.contains (id)"; q.declareParameters ("List idList"); q.execute (new ArrayList ()); ' –

관련 문제