みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お世話なります。
Windows10にてFileMaker19 Proを使用しております。
例えば、「アカウント」というテーブルに「メールアドレス」というカラムがあるとします。
メールアドレスは1レコードの中にカンマ区切りで複数入力されている場合もあります。
ExecuteSQLを使って「@co.jp」が含まれているメールアドレスの件数を取得したいと思っております。
ValueCount ( ExecuteSQL ( "SELECT \"メールアドレス\" FROM \"アカウント\" WHERE \"メールアドレス\"=? like \"メールアドレス\"=?" ; "" ; "" ; "メールアドレス" ;"%@co.jp%" ) )
上記の計算式をダイアログ表示のスクリプトに書いて実行してみましたが、うまく件数を取得することができませんでした。
ご教授のほどよろしくお願いいたします。
Offline
>メールアドレスは1レコードの中にカンマ区切りで複数入力されている場合もあります。
これはやめた方がいいのでは?
複数あった場合は2件とか3件とかとして数えたいんですか?
あれ?
ドメイン名に第3パート?がはいるだろうから、「@co.jp」というのは1つもないのでは?「@なんとか.co.jp」ですよね。
himadaneeさん
お返事ありがとうございます。
>>メールアドレスは1レコードの中にカンマ区切りで複数入力されている場合もあります。
>これはやめた方がいいのでは?
>複数あった場合は2件とか3件とかとして数えたいんですか?
その通りです。
知りたいことはExecuteSQLで部分検索し、その件数を取得する記述方法です。
メールアドレスの複数入力については例えとして挙げさせてもらいました。
>ドメイン名に第3パート?がはいるだろうから、「@co.jp」というのは1つもないのでは?「@なんとか.co.jp」ですよね。
その通りですね。失礼いたしました。
Offline
部分検索というか部分一致検索はできますが、検索する対象はレコードなので、その件数はレコード件数です。カンマ区切りで複数あっても1件になります。
himadaneeさん
お返事ありがとうございます。
>部分検索というか部分一致検索はできますが、検索する対象はレコードなので、その件数はレコード件数です。カンマ区切りで複数あっても1件になります。
同じメールアドレスが1レコードに複数ある想定ではないので、レコード件数でも構いません。
説明不足ですいません。
Offline
レコード数でいいなら、こうでは。
ExecuteSQL ( "SELECT COUNT(*) FROM \"アカウント\" WHERE \"メールアドレス\" like ?" ; "" ; "" ; "%@co.jp%" )
himadaneeさん
お返事ありがとうございます。
>レコード数でいいなら、こうでは。
>ExecuteSQL ( "SELECT COUNT(*) FROM \"アカウント\" WHERE \"メールアドレス\" like ?" ; "" ; "" ; "%@co.jp%" )
上記の計算式で件数を取得することができました。
ありがとうございました。
Offline
Pages: 1
[ Generated in 0.004 seconds, 9 queries executed - Memory usage: 513.16 KiB (Peak: 517.7 KiB) ]