初心者のFileMaker pro Q&A

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

ログインしていません。

アナウンス

Claris FileMaker Pro 19 ヘルプ
新しい質問は、新規トピック から投稿して下さい。


#1 2022-09-16 14:51:03

hiro25
メンバー

[解決] ExecuteSQLを使用した件数取得

お世話なります。
Windows10にてFileMaker19 Proを使用しております。

例えば、「アカウント」というテーブルに「メールアドレス」というカラムがあるとします。
メールアドレスは1レコードの中にカンマ区切りで複数入力されている場合もあります。
ExecuteSQLを使って「@co.jp」が含まれているメールアドレスの件数を取得したいと思っております。

ValueCount ( ExecuteSQL ( "SELECT \"メールアドレス\" FROM \"アカウント\" WHERE \"メールアドレス\"=? like \"メールアドレス\"=?" ; "" ; "" ; "メールアドレス" ;"%@co.jp%" ) )

上記の計算式をダイアログ表示のスクリプトに書いて実行してみましたが、うまく件数を取得することができませんでした。
ご教授のほどよろしくお願いいたします。

オフライン

#2 2022-09-16 15:32:45

himadanee
ゲストユーザー

Re: [解決] ExecuteSQLを使用した件数取得

>メールアドレスは1レコードの中にカンマ区切りで複数入力されている場合もあります。
これはやめた方がいいのでは?
複数あった場合は2件とか3件とかとして数えたいんですか?

#3 2022-09-16 15:35:04

himadanee
ゲストユーザー

Re: [解決] ExecuteSQLを使用した件数取得

あれ?
ドメイン名に第3パート?がはいるだろうから、「@co.jp」というのは1つもないのでは?「@なんとか.co.jp」ですよね。

#4 2022-09-16 15:46:06

hiro25
メンバー

Re: [解決] ExecuteSQLを使用した件数取得

himadaneeさん
お返事ありがとうございます。

>>メールアドレスは1レコードの中にカンマ区切りで複数入力されている場合もあります。
>これはやめた方がいいのでは?
>複数あった場合は2件とか3件とかとして数えたいんですか?

その通りです。
知りたいことはExecuteSQLで部分検索し、その件数を取得する記述方法です。
メールアドレスの複数入力については例えとして挙げさせてもらいました。

>ドメイン名に第3パート?がはいるだろうから、「@co.jp」というのは1つもないのでは?「@なんとか.co.jp」ですよね。
その通りですね。失礼いたしました。

オフライン

#5 2022-09-16 16:03:23

himadanee
ゲストユーザー

Re: [解決] ExecuteSQLを使用した件数取得

部分検索というか部分一致検索はできますが、検索する対象はレコードなので、その件数はレコード件数です。カンマ区切りで複数あっても1件になります。

#6 2022-09-16 16:18:04

hiro25
メンバー

Re: [解決] ExecuteSQLを使用した件数取得

himadaneeさん
お返事ありがとうございます。

>部分検索というか部分一致検索はできますが、検索する対象はレコードなので、その件数はレコード件数です。カンマ区切りで複数あっても1件になります。
同じメールアドレスが1レコードに複数ある想定ではないので、レコード件数でも構いません。
説明不足ですいません。

オフライン

#7 2022-09-16 17:09:42

himadanee
ゲストユーザー

Re: [解決] ExecuteSQLを使用した件数取得

レコード数でいいなら、こうでは。
ExecuteSQL ( "SELECT COUNT(*) FROM \"アカウント\" WHERE \"メールアドレス\" like ?" ; "" ; "" ; "%@co.jp%" )

#8 2022-09-16 17:45:11

hiro25
メンバー

Re: [解決] ExecuteSQLを使用した件数取得

himadaneeさん
お返事ありがとうございます。

>レコード数でいいなら、こうでは。
>ExecuteSQL ( "SELECT COUNT(*) FROM \"アカウント\" WHERE \"メールアドレス\" like ?" ; "" ; "" ; "%@co.jp%" )

上記の計算式で件数を取得することができました。
ありがとうございました。

オフライン

クィック投稿

メッセージを書いて送信してください。
登録の確認

実在の人物による登録であることを確認します。

Board footer