【緊急】sql文を2つ使う

以下のような

sqlを二つ使い、検索を行なうにはどのようにすれば良いでしょうか

var queryString = '日付 = "'+moment().format('YYYY-MM-15')+'"';
var queryString2 = '作成者 = "'+kintone.getLoginUser().name+'"';

私が検討したところ、

var params = {
// 検索条件
"query": queryString + 'AND' +queryString2,
};

このような記述かと考えたのですが、上手く行かないのでどなたかご教授ください

たいさん

1.記述としては、AND でつなぐ方法で問題ないと思います。

レコードの取得(GET)
https://developer.cybozu.io/hc/ja/articles/202331474

上記URLにも、下記サンプル記述あり。

企業マスタ.企業名 in (“サイボウズ”) and 企業マスタ.所在地 like “東京都”

2.‘AND’ でつないでいるので、queryString と queryString2 の間に空白ができない点は少し気になります。

’ and ’ としたら、空白が入って、上手くいくかも?

3.それでもだめならば、原因がわかりませんが、 queryString と queryString2 それぞれ単体で動かしてみて、

上手くいくかを試す。くらいでしょうか。

捕捉:API定義上は AND ではなく and ですね。 大文字小文字関係あるか、試したことがないのでわかりませんが、参考まで。

上海レンユアー 松村さん

 

コメント有難う御座います

今、確かめたところ、

queryString2の内容に誤りがあることが分かりました

queryString2で選択しているものは作成者のフォームを使用しておりまして、

これが普通の文字フォームであれば、取得できることが分かりました。

そこで詳しく調べたところ、

作成者のフォームの値の取得には「in , not in** 」のみが有効であることが分かりました**

 

そこでこのように記述したのですが、上手く行きません

** var queryString2 = '作成者 in "田中一郎"';**

 

申し訳ないのですが、この見解に関して

ご教授願います

たいさん

1. in の使用方法は下記URLご参照。

レコードの一括取得(クエリで条件を指定)

https://developer.cybozu.io/hc/ja/articles/202331474#step2

     ドロップダウン_0 in (“A”, “B”) の様な形式ですね。

2.作成者 in (“hogehoge”) で 検索する場合、 hogehoge 部分は、作成者の名前ではなく、コードが必要

だったと思います。

なので、kintone.getLoginUser().name ではなく kintone.getLoginUser().code に変更すれば、

上手くいくかもしれません。

コメント有難う御座います

 

1,2の両方を試したのですが、上手く行きませんでした。

上海レンユアー松村さんの指定したページに気になる箇所がありました

 

それがこちらの記述です

  • ※1:ログイン名、グループコード 又は組織コードを指定する。
    ログイン名が◯◯と△△のユーザー、グループコードが××のグループ、組織コードが□□の組織がユーザ選択フィールドに含まれているレコードのリクエストは次の用に表記できます: user_field in (" USER", “◯◯”, “△△”, " GROUP", “××”, " ORGANIZATION", “□□”)

この内容は今回の問題に関係あると思うのですが、いかがでしょうか?

たいさん

作成者のQUERY条件ですが、私の環境では、

作成者 in(“hogehoge”)

の記述で、問題なくレコード取得できますね。

1)Query条件なしでレコード取得

2)上記表記でレコード取得 hogehoge 部分は固定で、実在するデータの条件

3)kintone.getLoginUser().code を使用して、レコード取得

この順番で試していけば、問題の原因が掴みやすいと思います。