初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2022-11-15 12:04:58

ビーグル
Guest

リレーションシップを用いたinner joinまたはwhere機能の実装

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

FileMaker Pro上 19でmysql上にあるDB内の複数テーブルにodbcでアクセスしています。

データベースの管理でリレーションシップを作成し、複数テーブルのカラムを元に1つのレイアウトページ作成しポータルを表示させることに成功しました。
しかし、表示されたポータルは、SQLでいうところのleft join状態になってしまっており、nullのカラムも表示されてしまいます。
テーブルは全部で6つあり、part_idをキーにしたがテーブルが3つとchair_idをキーにしたテーブルが2つあります。chair_idのレコードはすべて出したいものの、part_idのレコードはchar_idがnullでないものを表示したいです。

リレーションシップを用いて、inner joinの状態またはwhere 'カラム名' is not nullの状態を作成するにはどのようにすればよいでしょうか。
お忙しいところ恐れ入りますが、ご教示いただけますと幸いです。

#2 2022-11-15 14:38:54

himadanee
Guest

Re: リレーションシップを用いたinner joinまたはwhere機能の実装

ポータルならポータルフィルタで条件指定できます。

しかし、inner joinしたからといってnullのカラムが表示されないってことはないでしょう。

詳細が全く書かれてない6番目のテーブルが何なのか全くわかりませんが、リレーションキーが「~_id」ならそれがnullであれば関連しなくなって表示されないはずです。
なのでXのリレーションを使ってるんだと推測できますが

FMはSQLではないので、SQL的に結合した結果を表示したいなら、mysql側でviewを作った方がいいかもしれません。

#3 2022-11-15 15:52:49

ビーグル
Guest

Re: リレーションシップを用いたinner joinまたはwhere機能の実装

himadanee 様

今回mysql側でviewを作成することができず、FileMaker側での対応を探しておりました。
ポータルのテーブルをpart_idをキーにしていたテーブルを使用していたのですが、これをchair_idを使用しているテーブルに変更することによってnullとして表示されていたテーブルが表示されなくなりました。

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

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 549.73 KiB (Peak: 581.75 KiB) ]