# 別アプリの条件に合うデータを表示する

**URL:** https://community.cybozu.dev/t/topic/291
**Category:** kintone 開発相談
**Created:** [2017 年 2 月 25 日午後 1:40 UTC](https://community.cybozu.dev/t/topic/291 "2017-02-25T13:40:47Z")
**Posts on this page:** 10
**Page:** 1

<div class="post-metadata">

### Author: ![Legacy\_Account1357](https://avatars.discourse-cdn.com/v4/letter/l/48db29/32.png) [@Legacy\_Account1357](https://community.cybozu.dev/u/Legacy_Account1357)
#### Post date: [2017 年 2 月 25 日午後 1:40 UTC](https://community.cybozu.dev/t/topic/291/1 "2017-02-25T13:40:47Z")

</div>

お世話になっております。

以下のようなアプリを作成したいと思っていますが、どのように実現していいか悩んでいます。お知恵を拝借したく存じます。

&nbsp;

元データがあるアプリ① （原材料入手先の査察に関する情報を管理するアプリ）

会社名、査察年月日、査察の評価（Ａ〜Ｃ）、査察の資料(添付ファイル)、削除フラグ

元データがあるアプリ② （自社製品の原材料とその入手先のテーブル）

製品名、原材料名、会社名、削除フラグ

メインのアプリＡ

＜レコード詳細画面＞

製品名：○○

原材料１：名称、会社名、直近の査察年月日、査察の評価

原材料２：名称、会社名、直近の査察年月日、査察の評価

（以下、この製品の原材料の数だけ繰り返す。ただし削除フラグが立っていないデータ）

&nbsp;

関連レコードを２つ組み合わせたような感じですが、抽出条件が「直近のもの」と特殊なものになっています。

レイアウトにはこだわりません。

さらに別のアプリを作り、「アプリ①に登録したら会社コードをキーにデータを書き換える」などでも構いません。（このアプリが作れれば、関連レコードで持って来られるので楽かもしれませんね）

手作りの資料をkintoneで実現しようとしているため、それにこだわりすぎになっていると思います。よろしくお願いします。

---

<div class="post-metadata">

### Author: ![Legacy\_Account1517](https://avatars.discourse-cdn.com/v4/letter/l/4bbf92/32.png) [@Legacy\_Account1517](https://community.cybozu.dev/u/Legacy_Account1517)
#### Post date: [2017 年 2 月 27 日午前 8:49 UTC](https://community.cybozu.dev/t/topic/291/2 "2017-02-27T08:49:00Z")

</div>

Koichi Ito さん

おもしろそうなので、試してみました。  
少し長くなったので、Qiita に投稿しました。  
[kintone でSQLを使う（その3）](http://qiita.com/rex0220/items/0c0516d6f08bd47c1a1d)

アプリ構成が少し違うかもしれませんが、ご参考になれば。

---

<div class="post-metadata">

### Author: ![Legacy\_Account1357](https://avatars.discourse-cdn.com/v4/letter/l/48db29/32.png) [@Legacy\_Account1357](https://community.cybozu.dev/u/Legacy_Account1357)
#### Post date: [2017 年 2 月 28 日午前 2:27 UTC](https://community.cybozu.dev/t/topic/291/3 "2017-02-28T02:27:53Z")

</div>

rex0220さん、ありがとうございます。

小さいアプリを作って動作確認をしました。まさにこのような表を作りたいと思っていました。

&nbsp;

1点お詫びですが、上記の元データのあるアプリ②の中身が違っていることに気づきました。

元データがあるアプリ② （自社製品の原材料とその入手先のテーブル）

原材料名、会社名、削除フラグ

元データがあるアプリ③（自社製品と原材料のテーブル）

製品名、原材料名

&nbsp;

SQL文を何とか読み解こうと努力していますが、 a.[製品名] は3つ目のアプリだとc.[製品名]でよいのかどうかなども含めて、まったく頭が付いていけません。

大変申し訳ないのですが、3つのアプリから抽出するコードをお教えいただけないでしょうか。

&nbsp;

---

<div class="post-metadata">

### Author: ![Legacy\_Account1517](https://avatars.discourse-cdn.com/v4/letter/l/4bbf92/32.png) [@Legacy\_Account1517](https://community.cybozu.dev/u/Legacy_Account1517)
#### Post date: [2017 年 2 月 28 日午前 3:19 UTC](https://community.cybozu.dev/t/topic/291/4 "2017-02-28T03:19:12Z")

</div>

Koichi Ito さん

[kintone でSQLを使う（その3）](http://qiita.com/rex0220/items/0c0516d6f08bd47c1a1d#%E9%83%A8%E5%93%81%E8%A1%A8%E9%83%A8%E5%93%81%E8%AA%BF%E9%81%94%E6%9F%BB%E5%AF%9F%E6%83%85%E5%A0%B1%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AB%E5%88%86%E3%81%8B%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E5%A0%B4%E5%90%88) の後半に追加しました。

３本のアプリを読み込んで、SQL で組み立ててあげるだけですので、基本は同じです。

なお、無理に３つの配列を JOIN しなくても、２本の JOIN 結果を配列に作って、さらに JOIN してもkintone で扱うデータ件数であれば処理時間はそんなに変わりません。

&nbsp;

---

<div class="post-metadata">

### Author: ![Legacy\_Account1357](https://avatars.discourse-cdn.com/v4/letter/l/48db29/32.png) [@Legacy\_Account1357](https://community.cybozu.dev/u/Legacy_Account1357)
#### Post date: [2017 年 2 月 28 日午前 4:24 UTC](https://community.cybozu.dev/t/topic/291/5 "2017-02-28T04:24:24Z")

</div>

rex0220さん、素早い回答ありがとうございます。

早速、製品名と原材料名の組み合わせたアプリを作り、JSを組み込んでみました。

残念ながら、表が作成されなかったので途中の値を吐き出してみたところ、obj.rs2がブランクになってしまいました。

（ window.confirm(JSON.stringify(obj.rs2)); でダイアログに出してみました。）

その直前のq2は、製品名欄に記載した製品の原材料を持ってきていました。

部品調達情報取得のところで失敗しているのでしょうか。なおフィールド名はコードと同じように、原材料名、会社名にしています。

&nbsp;

何度もお手間を取らせて申し訳ありません。

&nbsp;

---

<div class="post-metadata">

### Author: ![Legacy\_Account1517](https://avatars.discourse-cdn.com/v4/letter/l/4bbf92/32.png) [@Legacy\_Account1517](https://community.cybozu.dev/u/Legacy_Account1517)
#### Post date: [2017 年 2 月 28 日午前 4:40 UTC](https://community.cybozu.dev/t/topic/291/6 "2017-02-28T04:40:43Z")

</div>

API がエラーになっていないということですので、単純に抽出条件に合うデータが無いのだと思います。

console.log(‘原材料名’, strNames); で、部品表の原材料名を表示していますので、  
調達先アプリに該当するデータがあるか確認してみてください。

なお、わざわざ window.confirm しなくても、ブラウザーのデバッグツールでコンソール出力を見ると表示されていますよ。  
chrome だと、ctl+shit+I。 IE だと、F12 です。

&nbsp;

---

<div class="post-metadata">

### Author: ![Legacy\_Account1357](https://avatars.discourse-cdn.com/v4/letter/l/48db29/32.png) [@Legacy\_Account1357](https://community.cybozu.dev/u/Legacy_Account1357)
#### Post date: [2017 年 2 月 28 日午前 4:51 UTC](https://community.cybozu.dev/t/topic/291/7 "2017-02-28T04:51:29Z")

</div>

大変失礼しました！！

原材料コードが間違っていました。-01と-1が混在していました。

&nbsp;

コンソール出力は初めて知りました。

毎回ブレークポイントを作るようにwindow.confirmで変数を確認していたのがバカみたいです。

&nbsp;

この点も含めて、今回は大変勉強になりました。

ありがとうございました。

---

<div class="post-metadata">

### Author: ![Legacy\_Account1357](https://avatars.discourse-cdn.com/v4/letter/l/48db29/32.png) [@Legacy\_Account1357](https://community.cybozu.dev/u/Legacy_Account1357)
#### Post date: [2017 年 2 月 28 日午後 2:04 UTC](https://community.cybozu.dev/t/topic/291/8 "2017-02-28T14:04:32Z")

</div>

たびたびすみません。

もう一つお知恵を借りたい事案が出てきました。

&nbsp;

自社製品と原材料のテーブルにおいて、以下のようなデータの持ち方をしたときにはどのように変更したら良いのでしょうか。部分一致での抽出はできるのでしょうか。

製品名 原材料名

ロールパン６本入り ロールパン用大袋

ロールパン２本入り ロールパン用小袋

ロールパン６本入り、ロールパン２本入り 小麦粉

ロールパン６本入り、ロールパン２本入り バター

&nbsp;

前半二つは製品特有の原材料で、後半２つは製品を構成する「半製品」の原材料です。

本来は

ロールパン（１本） 小麦粉

ロールパン（１本） バター

となっているのを、読み替えテーブルをかませて上記のようにしようと思っています。

これにより、ロールパン６本入りの原材料として「ロールパン用大袋、小麦粉、バター」を表示し、それぞれの製造業者・評価を表示させます。

&nbsp;

後半２つを２行ずつにすれば簡単に解決するのですが、全体の行数が膨大なのに加え、一つの半製品が多数の製品に使われているため、テーブル作りが容易ではないのです。

（マクロを使って流し込むデータを作る、はアプリの運用管理の引き渡しを考えると出来れば避けたいです。ここまでガチガチにコーディングしておいてなんですが。）

よろしくお願いします。

---

<div class="post-metadata">

### Author: ![Legacy\_Account1517](https://avatars.discourse-cdn.com/v4/letter/l/4bbf92/32.png) [@Legacy\_Account1517](https://community.cybozu.dev/u/Legacy_Account1517)
#### Post date: [2017 年 2 月 28 日午後 3:11 UTC](https://community.cybozu.dev/t/topic/291/9 "2017-02-28T15:11:19Z")

</div>

[半製品の登録と所要量展開](http://qiita.com/rex0220/items/0c0516d6f08bd47c1a1d#%E5%8D%8A%E8%A3%BD%E5%93%81%E3%81%AE%E7%99%BB%E9%8C%B2%E3%81%A8%E6%89%80%E8%A6%81%E9%87%8F%E5%B1%95%E9%96%8B) に追加しました。

半製品と所要量展開は、kintone で扱うのは向かないと思いますが、お試しということで。

・原材料に、半製品を追加します。  
・半製品の原材料を登録します。

処理としては、半製品の原材料を求める処理を追加します。  
半製品の階層が多い場合は、半製品の原材料を求める処理を繰り返します。

&nbsp;

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/flex015/uploads/cybozu/original/1X/d5c841c3c5a6cb66eed514001c1b45147c9e1f4f.png) [@system](https://community.cybozu.dev/u/system)
#### Post date: [2025 年 8 月 20 日午前 1:36 UTC](https://community.cybozu.dev/t/topic/291/10 "2025-08-20T01:36:12Z")

</div>

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。
