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

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

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

You are not logged in.

Announcement

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


#1 2016-09-19 17:44:13

koko
Guest

ODBCを用いたデータのインポートの際の疑問

OS:[ ]
FileMaker Ver:[ ]

#2 2016-09-19 17:49:50

koko
Guest

Re: ODBCを用いたデータのインポートの際の疑問

OS:[windows 7]
FileMaker Ver:[fm13 ]

FMの相談というよりはSQLの書き方の問題かと思いますが、
他に相談できる場所がわからないので相談させてください。

ODBCを用いてSQLでデータをSERVERからインポートします。
その際のテーブルが簡単に書くとこんな感じです。
テーブル名:親子構成表
①親品番
②子品番
③使用数
これをUNIONクエリを用いて、何階層かにつなげたいのです。

SQLの知識があまり無いため、これが可能なのかわからないのですが、
次のように書いてみました。

SELECT 親品番 AS 品番1, 子品番 AS 品番2
FROM"親子構成表" AS 親子構成表1
UNION ALL
SELECT 親品番 AS 品番2, 子品番 AS 品番3
FROM"親子構成表" AS 親子構成表2
UNION ALL
SELECT 親品番 AS 品番3, 子品番 AS 品番4
FROM"親子構成表" AS 親子構成表3
UNION ALL
SELECT 親品番 AS 品番4, 子品番 AS 品番5
FROM"親子構成表" AS 親子構成表4

これだとフィールド 品番1、 品番2しかデータが収納されません。
SQLSERVERのデータをodbcを用いて上記のようなデータをfilemakerに
落とせるかどうか、落とせるのであれば正しい書き方をどなたかご教授をお願いします。

重複したデータを削除or除いてインポートするsqlの書き方があれば合わせてご教授いただければ幸いです。
よろしくお願いいたします。

#3 2016-09-19 19:42:18

ぽんかん
Guest

Re: ODBCを用いたデータのインポートの際の疑問

UNIONは結果の行を一度にインポートできるだけなんで、「階層」にはなりません。最初のSELECTの列名しか使わないのでUNION以後のASは意味がありません。
FROMは全部同じテーブルになってますけど、「階層」とはどういう意味ですか?

#4 2016-09-19 21:27:27

koko
Guest

Re: ODBCを用いたデータのインポートの際の疑問

ぽんかん wrote:

UNIONは結果の行を一度にインポートできるだけなんで、「階層」にはなりません。最初のSELECTの列名しか使わないのでUNION以後のASは意味がありません。
FROMは全部同じテーブルになってますけど、「階層」とはどういう意味ですか?

コメントありがとうございます。
部品構成表は、最親品番から最子供品番までいくつもの階層が一つのテーブルにまとめられています。
このテーブルのみを使って、生産管理でいうところのストラクチャ型のBOMを作成したいのです。

#5 2016-09-19 22:11:29

ぽんかん
Guest

Re: ODBCを用いたデータのインポートの際の疑問

UNIONでなくJOINを使わないとだめなのでは?
階層数に制限があるんですか?

#6 2016-09-20 09:52:17

koko
Guest

Re: ODBCを用いたデータのインポートの際の疑問

ぽんかん wrote:

UNIONでなくJOINを使わないとだめなのでは?
階層数に制限があるんですか?

ありがとうございます。
階層は、上記のとおり、5階層までです。

#7 2016-09-20 11:04:22

tim
Guest

Re: ODBCを用いたデータのインポートの際の疑問

とりあえず3階層でやってみたら。

SELECT t1.親品番 AS 品番1, t1.子品番 AS 品番2, t2.子品番 AS 品番3
FROM 親子構成表 AS t1, 親子構成表 AS t2
WHERE t1.子品番=t2.親品番

#8 2016-09-21 12:55:16

koko
Guest

Re: ODBCを用いたデータのインポートの際の疑問

tim wrote:

とりあえず3階層でやってみたら。

SELECT t1.親品番 AS 品番1, t1.子品番 AS 品番2, t2.子品番 AS 品番3
FROM 親子構成表 AS t1, 親子構成表 AS t2
WHERE t1.子品番=t2.親品番

ありがとうございます。
上記はできましたが、3つ以上のテーブルはできないのでしょうか?

#9 2016-09-21 13:12:33

tim
Guest

Re: ODBCを用いたデータのインポートの際の疑問

同様に結合すればいくらでもできます。
LEFT JOINを使わないと、子のない親は抽出されなくなります。

#10 2016-09-22 16:09:14

koko
Guest

Re: ODBCを用いたデータのインポートの際の疑問

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

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: 517.73 KiB (Peak: 522.27 KiB) ]