みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
Window7,FM13Advance です
よろしくお願い致します。
SQLを用いて複数の条件を指定してDBから値を取得したいのですがうまくいきません。
「SQLを実行」で下記のクエリを入力したのですが複数条件がある場合のWHEREの書き方でミスがあるらしくエラーとなってしまいます。
filemakerスクリプトでのSQLクエリを説明しているサイトも少なくどうかご指南いただけませんでしょうか。
よろしくお願いします。
"SELECT \"患者名\",\"保険区分\",\"更新日\"
FROM \"患者テーブル\" WHERE \"更新日\" >= " & "$更新日 and FROM \"患者テーブル\" WHERE \"保険区分\" >= " & $指定保険
SQL構文自体の内容評価は分かりませんが、テキスト計算結果が、下SQL文(たとえば、$更新日=「2016/1/1」、$指定保険=「障害」として)
SELECT "患者名","保険区分","更新日" FROM "患者テーブル" WHERE "更新日">='2016/1/1' AND "保険区分"='障害'
を得るような式は、
"SELECT \"患者名\",\"保険区分\",\"更新日\" FROM \"患者テーブル\" WHERE \"更新日\">='" & $更新日 & "' AND \"保険区分\"='" & $指定保険 & "'"
Offline
fromは一つしか書けない。
データを取得なら「SQLを実行」ではだめで、「レコードのインポート」では。
SQLサーバは何ですか。日付の書式は2016-01-01の方がいいかもしれない。
保険区分にも’’が必要かどうかはデータの型による。
お返事が遅れ申し訳ありません。
教えていただいたクエリを参考に職場で試したところエラーが出なくなりました。
ただ「WHERE \"更新日\" >= " & "$更新日」のところを>を外し、=のみにすると
なぜか$更新日以降の値も取れてしまいます。
クエリというよりインポート設定の問題でしょうか??
ぽんかん様へ
SQLサーバの確認方法が分からず、インポート元はwindows Server 2012 standardでした。
インポート元の日付の形式は「20160201」でした。
取得処理の部分は「レコードのインポート」で処理しています。
それだとインポート元では日付でなく数字で管理している可能性が高いです(''も不要のようだし)。
$更新日も日付でなく8桁の数値で渡せばいいのでは。
しかし、=なら一致する値しかインポートされないはずですが?
自分が誤って「SQLの実行」でインポートしたいデータを指定すると勘違いしていました。
「レコードのインポート」内でクエリを書いたところ無事処理することが出来ました。
お手数おかけいたしました。
教えていただいてありがとうございます。
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 508.29 KiB (Peak: 514.85 KiB) ]