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

[orca-users:10441] Re: アクセスで処方取得したいです



こんにちは、河合@岐阜です
orcaに自分で作ったviewを入れると不安定になるでしょうか。
お薬手帳、紹介状、検査データとの対応でグラフ内に埋込みなど
薬剤や注射の履歴を取得することは汎用性が高いです。
orcaから処方を過去半年分抜き出すSQLを作りました。
それまで取得してファイルメーカー側で直列にすると3分くらいかかっていたと
ころが
viewをORCA内に作成してorca側で直列化すると
自宅のダミーorcaで病院運用のorcaをrestoreして実験したところ
薬剤情報、過去半年分取得に3秒です。
viewはテーブルを作るわけではなく、orcaを触るにしても
あまり悪影響はなさそうですが、
サポート受けられますでしょうか。


create view kawai01 as SELECT  a.hospnum, a.ptid, a.nyugaikbn, a.sryka,  
b.sryymd, a.srycd1 as srycd, a.srysuryo1 as srysuryo, a.srykaisu1 as 
ssrykaisu,a.zainum*10+1 as zaiserial FROM tbl_sryact a, tbl_jyurrk b 
WHERE (((((a.hospnum = b.hospnum) AND (a.ptid = b.ptid)) AND (a.
nyugaikbn = b.nyugaikbn)) AND (a.sryka = b.sryka)) AND (((((((((((((((a.
zainum = b.zainum1) OR (a.zainum = b.zainum2)) OR (a.zainum = b.
zainum3)) OR (a.zainum = b.zainum4)) OR (a.zainum = b.zainum5)) OR (a.
zainum = b.zainum6)) OR (a.zainum = b.zainum7)) OR (a.zainum = b.
zainum8)) OR (a.zainum = b.zainum9)) OR (a.zainum = b.zainum10)) OR (a.
zainum = b.zainum11)) OR (a.zainum = b.zainum12)) OR (a.zainum = b.
zainum13)) OR (a.zainum = b.zainum14)) OR (a.zainum = b.zainum15))) AND 
(a.srycd1 >0);
を1〜5まで作成して
unionで一つの直列したview
create view kawai07 as
select  distinct * from kawai01
union 
select  distinct * from kawai02 
union 
select  distinct * from kawai03 
union 
select  distinct * from kawai04 
union 
select  distinct * from kawai05;
にします。
できたviewにマスタを関連して薬剤名と数量をくっつけてview8をつくり
accessで重複を削除します。

2008年03月23日(日) 08時34分に書きました。