[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[orca-users:05162] FileMakerへORCAからのデータインポートについて



中山@鳥取県です。

FileMakerにデータを取り込む時に患者データが2重になる。
欠落するということに関して相談を受けました。

以前私のJavapgaccessに追加したDosql+に関連して
クエリーを提示した内容に関連があると思われますので
こちらに投げます。

SELECT tbl_ptnum.ptnum AS 患者番号, tbl_ptinf.kananame, tbl_ptinf.name AS 氏
名, tbl_ptinf.birthday AS 生年月日, tbl_ptinf.sex AS 性別,
tbl_hkncombi.hkncombinum AS 保険セット, tbl_pthkninf.tekedymd AS 保険有効期
限, tbl_pthkninf.hknnum AS 保険, tbl_pthkninf.hknjanum AS 保険者番号,
tbl_pthkninf.kigo AS 被保険者記号, tbl_pthkninf.num AS 番号,
tbl_hkncombi.honkzkkbn AS 続柄, tbl_hkncombi.gai_kftnrate AS 外来負担率,
tbl_pthkninf.skkgetymd AS 保険資格取得日, tbl_ptkohinf.ftnjanum AS 公費1,
tbl_ptkohinf.ftnjanum AS 公費1負担者番号, tbl_ptkohinf.jkysnum AS 公費1受
給者番号, tbl_ptkohinf.tekstymd AS 公費1資格取得日, tbl_ptkohinf.tekedymd
AS 公費1有効期限, tbl_ptkohinf_1.ftnjanum AS 公費2,
tbl_ptkohinf_1.ftnjanum AS 公費2負担者番号, tbl_ptkohinf_1.jkysnum AS 公費
2受給者番号, tbl_ptkohinf_1.tekstymd AS 公費2資格取得日,
tbl_ptkohinf_1.tekedymd AS 公費2有効期限, tbl_hknjainf.hknjaname AS 保険者
名, tbl_hknjainf.adrs AS 事業所住所
FROM (((((tbl_ptnum INNER JOIN tbl_ptinf ON tbl_ptnum.ptid = tbl_ptinf.ptid)
LEFT JOIN tbl_hkncombi ON tbl_ptinf.ptid = tbl_hkncombi.ptid) LEFT JOIN
tbl_pthkninf ON (tbl_hkncombi.hknid = tbl_pthkninf.hknid) AND
(tbl_hkncombi.ptid = tbl_pthkninf.ptid)) LEFT JOIN tbl_ptkohinf ON
(tbl_hkncombi.koh1id = tbl_ptkohinf.kohid) AND (tbl_hkncombi.ptid =
tbl_ptkohinf.ptid)) LEFT JOIN tbl_ptkohinf AS tbl_ptkohinf_1 ON
(tbl_hkncombi.ptid = tbl_ptkohinf_1.ptid) AND (tbl_hkncombi.koh2id =
tbl_ptkohinf_1.kohid)) LEFT JOIN tbl_hknjainf ON tbl_pthkninf.hknjanum =
tbl_hknjainf.hknjanum
WHERE (((tbl_hkncombi.hkncombinum)=1) AND
((tbl_pthkninf.tekedymd)>='20030401'));

この中の

(tbl_hkncombi.hkncombinum)=1

の部分が重要です。
保険コンビを絞り込む部分が無いと保険コンビの数の分だけデータが重複します。

データが欠落するのはコンビができていない場合です。(たぶん。)

あとtbl_pthkninf.tekedymd)>='20030401'も重要です。

公費も含めクエリーを作って、一発できれいなデータを取り出そうとすると
上記の様な構造のクエリーになります。
このクエリーはAccessでもJDBCでも通ります。

まあ実際のクエリーを見ていないのであくまでも想像です。

中山小児科内科医院
中山裕雄