みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
お世話になっております。
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の状態を作成するにはどのようにすればよいでしょうか。
お忙しいところ恐れ入りますが、ご教示いただけますと幸いです。
ポータルならポータルフィルタで条件指定できます。
しかし、inner joinしたからといってnullのカラムが表示されないってことはないでしょう。
詳細が全く書かれてない6番目のテーブルが何なのか全くわかりませんが、リレーションキーが「~_id」ならそれがnullであれば関連しなくなって表示されないはずです。
なのでXのリレーションを使ってるんだと推測できますが
FMはSQLではないので、SQL的に結合した結果を表示したいなら、mysql側でviewを作った方がいいかもしれません。
himadanee 様
今回mysql側でviewを作成することができず、FileMaker側での対応を探しておりました。
ポータルのテーブルをpart_idをキーにしていたテーブルを使用していたのですが、これをchair_idを使用しているテーブルに変更することによってnullとして表示されていたテーブルが表示されなくなりました。
ありがとうございました。
[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 549.74 KiB (Peak: 581.88 KiB) ]