フィールド同士を比較したqueryの書き方

閲覧ありがとうございます。

フィールド同士の比較をしたqueryの書き方を教えていただきたいです。

 

~状況サンプル~

やりたいこと

・メールの値と連携メールの値が異なっているレコードを取得したいです。

 

メール:email

連携メール:email_cooperation

var body = {
  'app': appId,
  'query': 'email_cooperation != email',
  'fields': ['レコード番号', 'email']
};

var resp = await kintone.api(kintone.api.url('/k/v1/records', true), 'GET', body);

 

とやりましたが「クエリの指定が不正です。」とエラーが表示されてしまいます。

どなたかご教授お願い致します。

山本さま

トヨクモの加納と申します。

以下のURLのドキュメントにありますように、クエリ文では、比較演算子のうしろをフィールドコードではなくコード上の値にする必要があります。

https://developer.cybozu.io/hc/ja/articles/202331474-%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E5%8F%96%E5%BE%97-GET-#step2

よって、山本さまの希望する動作を実現するためには、emailフィールドの値を別途取得して、クエリ文の「email」をそれで置き換える必要があるかと思います。例えば、取得した値をemailという変数または定数に格納した場合、クエリ文は以下のようになります。

'query': 'email_cooperation != "' + email + '"',

ご参考になれば幸いです。