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

[orca-users:12668] Re: 画面上に一般名処方を表示する方法



おはようございます、島谷@恵庭です。

下記のsql文ですが、tbl_inputcdは関係ないのではないでしょうか?

tbl_inputcdをぬくと、

sudo -u orca psql orca -c "SELECT a.srycd, name, genericname from tbl_tensu a, tbl_genericname b WHERE substring(a.yakkakjncd from 1 for 9)=b.yakkakjncd AND yukoedymd = '99999999' AND (ykzkbn=1 or ykzkbn=6) AND kouhatukbn <> 0 ORDER BY kananame;" | nkf -w8 > gene.txt

と、なりました。 

有効期限の絞り込みは、"現時点で"であれば、yukoedymd='99999999'だけでもよいかと。
先発品のみ希望であれば、kouhatukbn <>0 を、kouhatukbn='2'と変更。

あと、order by の前当たりに、genericname~'ニフェジピン' とか( ''内は適当に )すると、ジェネリック名から先発品の
検索が出来ます、あ、これは長谷川様にではなく、MLの皆様へ。

この場合は、

echo "\encoding utf-8 \\\ SELECT a.srycd, name, genericname from tbl_tensu a, tbl_genericname b WHERE substring(a.yakkakjncd from 1 for 9)=b.yakkakjncd AND yukoedymd = '99999999' AND kouhatukbn ='2' and genericname~'ニフェジピン' ORDER BY kananame;" | psql orca

こんなふうにするとよいです。(encodingの部分は端末の文字コードに合わせてください、ubuntuで特に何もしていなければ、utf-8のままでいいです)

> いつもお世話になります。スカイエスエイッチ 長谷川です。
> 
> 
> 一行で
> sudo -u orca psql orca -c "SELECT a.srycd, name, genericname from tbl_inputcd a, tbl_tensu b, tbl_genericname c WHERE b.hospnum=1 AND a.srycd=b.srycd AND substring(b.yakkakjncd from 1 for 9)=c.yakkakjncd AND yukostymd <= '20120401' AND yukoedymd >= '20120401' AND (ykzkbn=1 or ykzkbn=6) AND kouhatukbn <> 0 AND (syusaiskb=0 OR syusaiskb=1 OR syusaiskb=8) AND dspseq=1 ORDER BY kananame;" | nkf -w8 > gene.txt
> 
> 出力例
>    srycd   |                   name                   |                     genericname
> -----------+------------------------------------------+------------------------------------------------------
>  620006373 | アレギサール点眼液0.1% 5mg5mL | ペミロラストカリウム点眼液5mg5mL
>  620001970 | ウルソ錠100mg                       | ウルソデオキシコール酸錠100mg


-- 
Naoki Shimaya <naoki-shimaya@xxxxxxxxxxxxxxxxxx>