내 데이터베이스 샘플. 데이터베이스에서 데이터를 저장하는 방법을 제어 할 권한이 없습니다.REST API는 SQL 그룹화를 지원하지 않습니다. 이것을 극복 할 수있는 방법이 있습니까?
나머지 API (vTiger의 오픈 소스 CRM)의 그룹화를 지원하지 않습니다
http://sqlfiddle.com/#!9/155e3c/19
문제로 인해 두 가지 요소입니다.
여러 선택 목록 옵션을 저장하는 필드의 경우 데이터베이스는 | ## |로 구분 된 1 개의 필드에 저장합니다. 나는 multipicklist 필드의 값의 존재에도를 기반으로 쿼리를 가져올 수 있도록하려면 하지만 때문에 어떤 그룹화 지원의 내 쿼리의 나머지 부분에 영향을주지 않고이 작업을 수행 할 수 있습니다 :
그래서 기본적으로 나는이 비 그룹화 상황을 극복하고 동등한 것 쿼리 생성하는 방법을 찾고 있어요 : 연락처에서
SELECT *를 WHERE ('도요타', '페라리') 자동차 및 (국가 LIKE '% 캐나다 %'또는 국가 LIKE '% 브라질 %');
이 방법이 있습니까?
추가 : multipicklist 필드를 검색 할 때 사용자가 지정한 모든 옵션을 얻고 싶다면 AND 연산자 만 사용할 수 있기 때문에 괜찮습니다. 하지만 옵션 중 하나만 원하면 그룹화되지 않은 OR 연산자가 내 쿼리를 유실합니다.
와우는 시원하게 들리지만 다르게 작업하는 과정에 있습니다. 그래서 내 솔루션 (그것은 우아한 하나가 아니지만 창조적 인 하나의) 그럼 실제로 OR 연산자를 가지고 multipicklist 옵션에 invertor를 실행하는 것입니다. 자동차 : 도요타, 아우디, 페라리, 피아트. 내 사용자는 audi 또는 ferrari에 관심이있는 고객을 원합니다. 대신 WHERE car = 'audi'OR car = 'ferrari'를 실행하십시오. 양식을 전송하기 전에 multipicklist 양식을 반전하고 전송 후 재설정합니다. 핸들은 다음과 같습니다. 어디에도 car = "toyota"가 아니라 car = 'fiat'이 아닙니다. – CodeAt30
좋아, webservice가 NOT 연산자를 지원하지 않을 수도 있다고 생각합니다. 쓰레기. – CodeAt30
REST API로 수행 할 수있는 쿼리는 매우 기본적이고 제한적입니다. 대부분 내가 한 일을해야 할 것입니다. Vtiger 용 모듈을 작성하지 않았다면 학습 곡선이 있지만 다른 옵션은 거의 없습니다. –